如何构建多维数组?

时间:2011-07-23 06:17:12

标签: php arrays multidimensional-array

我正在使用foreach循环从数据库值创建一个数组,如下所示:

foreach ($query->result_array() as $row) {
   array(
      'user_id'  => $user_id,
      'post_id'  => $row['id'],
      'time'     => '0',
      'platform' => $platform
   );
}

假设我拉了2行,我需要让这个foreach以下列格式创建一个多维数组:

$data = array(
    array(
       'user_id'  => '12', 
       'post_id'  => '37822', 
       'time'     => '0',
       'platform' => 'email'
    ),
    array(
       'user_id'  => '12', 
       'post_id'  => '48319', 
       'time'     => '0',
       'platform' => 'email'
    ),
);

可能很简单,但仍然无法让它失望。谢谢。

1 个答案:

答案 0 :(得分:4)

您可以先声明一个空数组:

$results = array();

然后,每次有新行时,将其添加到该数组:

$results[] = $row;

或者,无论如何,要在该数组中添加任何内容:

$results[] = array( something here );


在您的具体情况下,您可能会使用以下内容:

$results = array();
foreach ($query->result_array() as $row) {
    $results[] = array(
                    'user_id' => $user_id, 
                    'post_id' => $row['id'], 
                    'time' => '0', 
                    'platform' => $platform
                );
}


作为参考,PHP手册的相应部分:Creating/modifying with square bracket syntax