如何动态填充列表函数


How to dynamically populate a list function

我正在尝试自动化一种从mysql数据库读取变量的方法。我在while($row = mysql_fetch_array($result))循环中定义了大量的字段,比如$id=$row['$id']; $ref=$row['$ref']; $name=$row['$name'];
由于这在我的代码中重复了很多次,所以我尝试只定义一次。

这就是我目前所拥有的:

$ids=array('id','ref','name','address');
function vars($arr=array(),$ids) {
    $ext=array();
    foreach ($ids as $value) {
        $$value=$arr[$value];
        array_push($ext,$$value);
    }
    return $ext;
}

这是我的疑问:

$result = mysql_query("SELECT * FROM here");
while($row = mysql_fetch_array($result)) {
    list ($id,$ref,$name,$address) = vars($row,$ids);
    echo $id.' | '.$ref.' | '.$name.' | '.$address.'<br />';
}

所以,我的问题是:我如何在list函数中自动化vars,使它们与数组$ids完全一样(因为我只想写一次)?对不起,我在这里的第一篇帖子。。。这有道理吗?还是我完全错了?

明白了!!!PDO如此简单。。。不需要任何功能!

foreach($db->query("SELECT * FROM here") as $row) {
    foreach($db->query("DESCRIBE here") as $col) { 
        $$col[0]=$row[$col[0]]; 
    }
    echo $id.' | '.$ref.' | '.$name.' | '.$address.'<br />';
}

这正是我问题的答案
很抱歉打扰你们。。。