Как добавить элементы в пустой массив в PHP?

Если я определяю массив в PHP следующим образом (я не определяю его размер):

$cart = array();

Могу ли я просто добавить в него элементы, используя следующее?

$cart[] = 13;
$cart[] = "foo";
$cart[] = obj;

Разве у массивов в PHP нет метода add, например, cart.add(13)?

Решение

И [array_push][1], и описанный вами метод будут работать.


$cart = array();
$cart[] = 13;
$cart[] = 14;
// etc

//Above is correct. but below one is for further understanding
$cart = array();
for($i=0;$i
Комментарии (12)

Лучше не использовать 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';
Комментарии (3)

Исходя из моего опыта, решения в порядке(лучший), когда ключи не важны:

$cart = [];
$cart[] = 13;
$cart[] = "foo";
$cart[] = obj;
Комментарии (0)

Вы можете использовать array_push. Он добавляет элементы в конец массива, как в стеке.

Вы также могли бы сделать это следующим образом:

$cart = array(13, "foo", $obj);
Комментарии (0)

Помните, этот метод перезаписывает первый массив, так что используйте только, когда вы уверены!

$arr1 = $arr1 + $arr2;

(см. Источник)

Комментарии (2)
$products_arr["passenger_details"]=array();
array_push($products_arr["passenger_details"],array("Name"=>"Isuru Eshan","E-Mail"=>"isuru.eshan@gmail.com"));
echo "<pre>";
echo json_encode($products_arr,JSON_PRETTY_PRINT);
echo "</pre>";

//OR

$countries = array();
$countries["DK"] = array("code"=>"DK","name"=>"Denmark","d_code"=>"+45");
$countries["DJ"] = array("code"=>"DJ","name"=>"Djibouti","d_code"=>"+253");
$countries["DM"] = array("code"=>"DM","name"=>"Dominica","d_code"=>"+1");
foreach ($countries as $country){
echo "<pre>";
echo print_r($country);
echo "</pre>";
}
Комментарии (0)

$cart = array();
$cart[] = 11;
$cart[] = 15;

// etc

//Above is correct. but below one is for further understanding

$cart = array();
for($i = 0; $i 
Комментарии (2)

Когда один хочет, чтобы элементы, которые будут добавлены с нулевой индексацией элементов, я думаю, это будет работать также:

// 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';
Комментарии (0)