Если я определяю массив в PHP, например (не определяю его размер):
$cart = array();
Я просто добавляю к нему элементы, используя следующее:
$cart[] = 13; $cart[] = "foo"; $cart[] = obj;
Не массивы на PHP имеют метод add, например, cart.add(13)
?
И array_push
и метод, который вы описали, будут работать.
<?php $cart = array(); $cart[] = 13; $cart[] = 14; // etc ?>
Такой же как:
<?php $cart = array(); array_push($cart, 13); array_push($cart, 14); // Or $cart = array(); array_push($cart, 13, 14); ?>
Лучше не использовать array_push
и просто использовать то, что вы предложили. Функции просто добавляют накладные расходы.
//We don't need to define the array, but in many cases it's the best solution. $cart = array(); //Automatic new integer key higher than the highest //existing integer key in the array, starts at 0. $cart[] = 13; $cart[] = 'text'; //Numeric key $cart[4] = $object; //Text key (assoc) $cart['key'] = 'test';
Основываясь на моем опыте, вы отлично разбираетесь, когда ключи не важны:
$cart = array(); $cart[] = 13; $cart[] = "foo"; $cart[] = obj;
Вы можете использовать array_push . Он добавляет элементы в конец массива, как в стеке.
Вы могли бы сделать это так:
$cart = array(13, "foo", $obj);
ПОМНИТЕ, этот метод перезаписывает первый массив, поэтому используйте только тогда, когда вы уверены!
$arr1 = $arr1 + $arr2;
( см. источник )
Это называется array_push: http://il.php.net/function.array-push
Когда нужно добавить элементы с нулевым индексированием элементов, я думаю, это тоже будет работать:
// adding elements to an array with zero-based index $matrix= array(); $matrix[count($matrix)]= 'element 1'; $matrix[count($matrix)]= 'element 2'; ... $matrix[count($matrix)]= 'element N';