Как построить многомерный массив? - PullRequest
3 голосов
/ 23 июля 2011

Я использую цикл 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 Ответ

4 голосов
/ 23 июля 2011

Сначала вы можете объявить пустой массив:

$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: Создание / изменение с использованием синтаксиса в квадратных скобках .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...