Как добавить элементы в пустой массив в PHP?
Если я определяю массив в PHP, например (не определяю его размер):
$cart = array();
Я просто добавляю к нему элементы, используя следующее?
$cart[] = 13;
$cart[] = "foo";
$cart[] = obj;
Не массивы в PHP имеют метод добавления, например cart.add(13)
?
Ответы
Ответ 1
Оба 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);
?>
Ответ 2
Лучше не использовать array_push
и просто использовать то, что вы предложили. Функции просто добавляют служебные данные.
//We don't need to define the array, but in many cases it 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';
Ответ 3
Основываясь на моем опыте, ваше решение отлично (лучше), когда ключи не важны:
$cart = array();
$cart[] = 13;
$cart[] = "foo";
$cart[] = obj;
Ответ 4
Вы можете использовать array_push.
Он добавляет элементы в конец массива, как в стеке.
Вы также могли бы сделать это следующим образом:
$cart = array(13, "foo", $obj);
Ответ 5
ПОМНИТЕ, этот метод перезаписывает первый массив, поэтому используйте только тогда, когда вы уверены!
$arr1 = $arr1 + $arr2;
(см. источник)
Ответ 6
Он называется array_push: http://il.php.net/function.array-push
Ответ 7
Когда вы хотите добавить элементы с нулевым индексированием элемента, я думаю, это тоже будет работать:
// 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';