如何动态填充列表函数

时间:2016-03-24 09:49:14

标签: php arrays function

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

这是我到目前为止所做的:

$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 />';
}

所以,我的问题是:如何自动化列表函数中的变量,这样它们就像数组$ ids一样(因为我只想写一次)?对不起,我在这里的第一篇文章......这是否有意义,或者我一路走错了?

1 个答案:

答案 0 :(得分:1)

得到了!!!使用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 />';
}

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