Hoe voeg je elementen toe aan een lege array in PHP?

Als ik een array definieer in PHP zoals (ik definieer de grootte niet):

$cart = array();

Voeg ik er eenvoudig elementen aan toe door het volgende te gebruiken?

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

Hebben arrays in PHP geen add-methode, bijvoorbeeld cart.add(13)?


Antwoord 1, autoriteit 100%

Zowel array_pushals de methode je beschreven zal werken.

$cart = array();
$cart[] = 13;
$cart[] = 14;
// etc
//Above is correct. but below one is for further understanding
$cart = array();
for($i=0;$i<=5;$i++){
    $cart[] = $i;  
}
echo "<pre>";
print_r($cart);
echo "</pre>";

Is hetzelfde als:

<?php
$cart = array();
array_push($cart, 13);
array_push($cart, 14);
// Or 
$cart = array();
array_push($cart, 13, 14);
?>

Antwoord 2, autoriteit 9%

Het is beter om array_pushen gebruik gewoon wat je voorstelde. De functies voegen gewoon overhead toe.

//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';

Antwoord 3, autoriteit 2%

Gebaseerd op mijn ervaring, oplossing die prima is (de beste) wanneer sleutels niet belangrijk zijn:

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

Antwoord 4

Je kunt array_pushgebruiken.
Het voegt de elementen toe aan het einde van de array, zoals in een stapel.

Je had het ook zo kunnen doen:

$cart = array(13, "foo", $obj);

Antwoord 5

$cart = array();
$cart[] = 11;
$cart[] = 15;
// etc
//Above is correct. but below one is for further understanding
$cart = array();
for($i = 0; $i <= 5; $i++){
          $cart[] = $i;  
//if you write $cart = [$i]; you will only take last $i value as first element in array.
}
echo "<pre>";
print_r($cart);
echo "</pre>";

Antwoord 6

ONTHOUD dat deze methode de eerste array overschrijft, dus gebruik deze alleen als u het zeker weet!

$arr1 = $arr1 + $arr2;

(zie bron)


Antwoord 7

$products_arr["passenger_details"]=array();
array_push($products_arr["passenger_details"],array("Name"=>"Isuru Eshan","E-Mail"=>"[email protected]"));
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>";
}

Antwoord 8

Wanneer iemand wil dat elementen worden toegevoegd met op nul gebaseerde elementindexering, denk ik dat dit ook zal werken:

// 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';

Antwoord 9

Beide array_pushen de methode die u hebt beschreven, werkt.

$customArray = array();
$customArray[] = 20;
$customArray[] = 21;

hierboven is correct, maar onder de men is voor verder begrip

$customArray = array();
for($i=0;$i<=12;$i++){
    $cart[] = $i;  
}
echo "<pre>";
print_r($customArray);
echo "</pre>";

Other episodes