1

FROM没有键的数组:

$array = array('apple','bee','carrot','dragon','elephant')

$newarray = ($apple,$bee,$carrot,$dragon,$elephant)

为什么:我想创建灵活的函数来从 mysql 数据库中获取字段,如下所示:

<?php
$query = "SELECT ".$array." FROM table";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
        extract($row);
        echo $newarray;
}
?>

所以,我可以:

  • 选择苹果、蜜蜂、胡萝卜和回声 $apple、$bee 和 $carrot
  • 选择蜜蜂、胡萝卜、大象和回声 $bee、$carrot 和 $elephant
  • 管他呢。
4

2 回答 2

3

为什么不从数据库中获取关联数组,然后使用关联数组中的键,如下所示:

// assume field names are 'apple', 'bee', 'carrot', etc.
while($row = mysql_fetch_assoc($result)){    
    foreach($row as $key => $value) {
        // this will set variables as $apple, $bee, $carrot, etc.
        $$key = $value;
    }
}

当然,如果您在结果集中获得多于一行,这并不是那么实用,因为变量只会被覆盖。

您想要做的关键是使用变量变量($$key在这种情况下)

哦,是的,您也不应该使用 mysql_* 函数,而应该使用 mysqli_* 或 PDO。

于 2012-08-31T18:13:05.867 回答
0
foreach($array as $value){
    $newarray[] = ${$value};
    //Edited: maybe you'll need to reset the array after use it
    unset($newarray);
}

知道了!

谢谢大家!

于 2012-08-31T18:47:37.367 回答