Php 如何为每个结果指定唯一的变量名?

Php 如何为每个结果指定唯一的变量名?,php,Php,我想给每个输出一个唯一的变量名,这样我就可以使用它了。我需要帮助吗 <?php $sql = "SELECT * FROM db"; $result = mysqli_query($con, $sql); while($row= mysqli_fetch_assoc($result)) { $var = $row['field_name']; echo $var."<br>"; // Outputs

我想给每个输出一个唯一的变量名,这样我就可以使用它了。我需要帮助吗

<?php  
    $sql = "SELECT * FROM db";
    $result = mysqli_query($con, $sql);
    while($row= mysqli_fetch_assoc($result)) {
        $var = $row['field_name'];
        echo $var."<br>"; 
        // Outputs name1 name2 etc.,
    }
?>



这就是你想要的吗?

正如Sahil在评论
extract()
中所说,这是一个不错的选择

extract($row)
$row
是一个关联数组。此函数将键视为变量名,将值视为变量值。对于每个键/值对,它将在当前符号表中创建一个变量

阅读更多关于
extract()


除非您想麻烦地创建动态变量名,否则您需要将它们存储在一个数组中

<?php
$names = array();
$sql = "SELECT * FROM db";
$result = mysqli_query($con, $sql);
while($row= mysqli_fetch_assoc($result)) {
    $var = $row['field_name'];
    echo $var."<br>"; 
    // Outputs name1 name2 etc.,
    $names[] = $var;
}
echo $names[0];
echo $names[1];
// etc.

与您执行此操作的方式相同:
$var=$row['field_name']。这样不行吗?你可以使用
提取($row)
使用数组,加上方括号:$var[]=$row['field\u name'];和回音端($var);主席先生,只有一个字段名,它会回显所有的内容,即结果,所说的结果就是我想给出唯一变量名的结果。主席先生,只有一个字段名,它会回显所有的内容,即结果,所说的结果就是我想给出唯一变量名的结果。因此,您的每一行只有一列,您希望每一行的结果都是单独的变量?有一个主id和名称,两个字段,我将输出名称,但分配给单独的唯一变量名称。先生,为什么这是一个“麻烦”?因为您需要获得一个计数器,创建动态变量名称,然后当你完成后,你就没有简单的方法来遍历你收集的数据了。这对我很有用..tnx,会找到你提到的问题的解决方案,再次感谢!
<?php  
    $sql = "SELECT * FROM db";
    $result = mysqli_query($con, $sql);
    while($row= mysqli_fetch_assoc($result)) {
        extract($row);
         //now you can echo each value using its field name
        echo $fieldname1;
        echo $fieldname2;        

    }
?>
<?php
$names = array();
$sql = "SELECT * FROM db";
$result = mysqli_query($con, $sql);
while($row= mysqli_fetch_assoc($result)) {
    $var = $row['field_name'];
    echo $var."<br>"; 
    // Outputs name1 name2 etc.,
    $names[] = $var;
}
echo $names[0];
echo $names[1];
// etc.