2016-09-29 5 views
1

Почему php объединяет массив, когда я делаю foreach. см. нижеphp объединение массива само по себе

Если я введу следующий код, я получу id1 id2 отдельно.

foreach($array as $value){ 
    $id = $value->id; 
    echo $id; 
} 

теперь, если я пытаюсь использовать идентификаторы, чтобы сделать запрос

foreach($array as $value){ 
    $id = $value->id; 
    $result = $this->model->run_some_query($id); 
    var_dump($result); 
} 

для приведенного выше кода. Поскольку цикл foreach не проходит в массиве идентификаторов, я ожидаю получить два набора отдельного массива. array1 с результатом от id1, array2 с результатом от id2. но вместо этого я получаю 1 массив с результатом объединения обоих идентификаторов.

Как сделать так, чтобы массив был разделен.

ответ

1

Вы можете получить 2d массив, делая это:

$result[id] = $this->model->run_some_query($id); 
0

вы можете попробовать этот код на операторе цикла

foreach($array as $value){ 
    $id = $value->id; 
    $result[] = $this->model->run_some_query($id); 

} 
var_dump($result); 
Смежные вопросы