在pg_fetch_array之外定义数组键值

时间:2012-10-16 13:09:35

标签: php arrays postgresql

我基本上想要在while循环之外定义$georesults数组及其键值对,但我希望数组由while循环内的pg_fetch_array()行填充。

while ($row = pg_fetch_array($result, NULL, PGSQL_ASSOC)) {
        $georesults['results'][] = array(
                    "$columns[0]" => $row["$columns[0]"],
                    "$columns[1]" => $row["$columns[1]"],
                    "$columns[2]" => $row["$columns[2]"],
                    "$columns[3]" => $row["$columns[3]"]
                    );
    }

我不太清楚如何实现这一点。

是否可以定义数组:

$georesults['results'][] = array(
                    "$columns[0]" => $row["$columns[0]"],
                    "$columns[1]" => $row["$columns[1]"],
                    "$columns[2]" => $row["$columns[2]"],
                    "$columns[3]" => $row["$columns[3]"]
                    );

在while循环之外但是是否从pg_fetch_array的结果中填充了

我想这样做的原因是因为我想根据查询中定义的列动态设置键值对的数量。查询将经常更改。取决于用户选择的内容。

此致 地理位置

1 个答案:

答案 0 :(得分:1)

//在循环外声明数组变量。

 $results=array();

while ($row = pg_fetch_array($result, NULL, PGSQL_ASSOC)) {

        $results[] = $row;
    }
//you can use the result outside the loop.

or

    $results=array();

while ($row = pg_fetch_array($result, NULL, PGSQL_ASSOC)) {

      $results[] = array('id'=>$row['id'],'name'=>$row['name'], 'password'=>$row['password'] );

    }

//use the result outside the loop

希望有所帮助