2010-12-09 4 views
0

Так что у меня много массивов вида:Как добавить массив как элемент в другой массив в PHP?

$e = array( 
    "key1" => "value1", 
    "key2" => "value2", 
    "key3" => "value3", 
    "key4" =? "value4" 
); 

И еще один массив только объявленным как:

$a = array(); 

То, что я хочу, чтобы добавить $ е в $ а как элемент, так

$a[0] = array( 
    "key1" => "value1", 
    "key2" => "value2", 
    "key3" => "value3", 
    "key4" =? "value4" 
); 

Так что я могу затем пойти:

$count = count($a); 
for ($j = 0; $j < $count; $j++) 
{ 
    echo $a[$j]["key1"]; 
} 

и напечатает "value1".

Я буду повторять этот процесс для всех $ e, поэтому $ a может не быть пустым при добавлении $ e - возможно, ранее было добавлено еще $ e. Я думал, что array_push сделает это, но это не так. Спасибо за любую помощь.

ответ

3

Быстрый и грязный способ довольно прост:

$a[] = $e; 

, а затем сделать это снова для каких-либо дополнительных массивов. Это заполнит массив $ a, начиная с нулевого индекса и увеличивая его.

Если вы хотите использовать какие-то ключи, вы можете сделать:

$a['firstarray'] = $e; 

и достичь почти то же самое. Разница в том, что, поскольку ключи должны быть уникальными, отвращение во втором методе может перезаписать существующий элемент. Первый метод не имеет шансов на это.

+0

Кроме того, использование $ a [] вместо array_push является более быстрым для элементов менее 100k – 2010-12-09 03:34:49

Смежные вопросы