Wie füge ich Elemente zu einem leeren Array in PHP hinzu?

Lesezeit: 5 Minuten

Wie fuge ich Elemente zu einem leeren Array in PHP
AquinasTub

Wenn ich ein Array in PHP definiere wie (ich definiere seine Größe nicht):

$cart = array();

Füge ich einfach Elemente hinzu, indem ich Folgendes verwende?

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

Haben Arrays in PHP keine Add-Methode, zum Beispiel cart.add(13)?

1646878446 324 Wie fuge ich Elemente zu einem leeren Array in PHP
Bart S.

Beide array_push und die Methode, die Sie beschrieben haben, wird funktionieren.

$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>";

Ist das gleiche wie:

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

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

  • Wie in der PHP-Dokumentation angegeben, verwenden Sie am besten die $cart[] = 13 -Methode, nicht nur, weil weniger Zeichen für die gleiche Operation erforderlich sind, sondern auch nicht den Leistungsaufwand eines Funktionsaufrufs auferlegen, was array_push() tun würde. Edit: Aber tolle Antwort. Effektiv gleich, und die meisten Benutzer werden nicht einmal einen Leistungsunterschied bemerken, aber es hilft, diese Nuancen zu erkennen.

    – Mattygabe

    15. Januar 2011 um 5:10 Uhr


  • Geht es nur mir so oder geht das $cart[]=... Syntax auf den ersten Blick wie eine Variablenzuweisung und nicht wie ein implizites array_push aussehen?

    – Brad Hein

    5. Februar 2014 um 16:36 Uhr


  • Bei mir tut es das auf jeden Fall. Ich hätte nichts dagegen, eine Erklärung dafür zu haben, warum es so ist nicht eine Zuweisung.

    – Limette und Kokosnuss

    20. Mai 2014 um 4:05 Uhr

  • $cart[] = 13; ist schneller. hat weniger Zeichen und sieht besser aus.

    – Gal Bracha

    28. Juli 2014 um 6:54 Uhr

  • Ich möchte nur meinen alternativen Standpunkt darlegen, dass es für Programmierer anderer Sprachen SEHR verwirrend ist, die Syntax von cart zu lesen[] =…, ich habe Erfahrung mit vielen Sprachen und ich würde nie vermuten, dass es das ist.

    – Erti-Chris Eelmaa

    13. Oktober 2016 um 18:02 Uhr

1646878447 116 Wie fuge ich Elemente zu einem leeren Array in PHP
OIS

Es ist besser, nicht zu verwenden array_push und nimm einfach das, was du vorgeschlagen hast. Die Funktionen fügen nur Overhead hinzu.

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

  • “Wenn Sie einem Array mehrere Werte in einer Schleife hinzufügen, ist es schneller, array_push zu verwenden als wiederholt [] = Aussagen” php.net/manual/en/function.array-push.php#84959

    – Ollie Glas

    18. Dezember 2010 um 17:15 Uhr

  • Absolut richtig, wenn Ihr Anwendungsfall darin besteht, ein einzelnes Element oder Elemente einzeln hinzuzufügen. Wenn alle Werte gleichzeitig bekannt sind, ist es wahrscheinlich am besten, nur die array_push-Notation zu verwenden, je nachdem, wie viele Elemente hinzugefügt werden müssen, können die zusätzlichen Zeichen durch die jedes Mal erneute Eingabe des Array-Namens eher ein Leistungshindernis sein als der Funktionsaufruf über Kopf. Wie immer sollte bei der Auswahl Urteilsvermögen ausgeübt werden. Gute Antworten!

    – Mattygabe

    15. Januar 2011 um 5:13 Uhr

  • Diese Antwort ist die vollständigste.

    – Lokiare

    24. Mai 2018 um 16:19 Uhr

  • 1) array_push() hat ein Rückgabewert, während die anderen dies nicht tun. Vielleicht ist dies der/ein Grund für den Overhead? Es scheint ein Konsens zu sein, die anderen Methoden zu verwenden, es sei denn, Sie benötigen diesen Rückgabewert. 2) Wenn Sie Elemente hinzufügen müssen Ende des Arraysbenutze das eine oder das andere array_push() oder += Methode der Verkettung (in dieser Antwort nicht gezeigt) oder $cart[] = 13 Methoden. Verwenden der benannten/numerischen Schlüsselmethode ($cart[4] = $object und $cart[‘key’] = ‘test’` Methoden nicht Garantie Das Element wird zu hinzugefügt Ende des Arrays, nur dass es sein wird in das Array.

    – SherylHohman

    30. Juni 2020 um 23:40 Uhr


  • @SherylHohman: Dieser $cart[] = fügt Werte am Ende des Arrays hinzu.

    – OIS

    11. September 2020 um 5:48 Uhr

Wie fuge ich Elemente zu einem leeren Array in PHP
fico7489

Basierend auf meiner Erfahrung, Lösung, die in Ordnung ist (die beste), wenn Schlüssel nicht wichtig sind:

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

Wie fuge ich Elemente zu einem leeren Array in PHP
und ich

Sie können verwenden array_push. Es fügt die Elemente am Ende des Arrays hinzu, wie in einem Stapel.

Du hättest es auch so machen können:

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

$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>";

  • $cart[] = $ich; – Dieser Teil des Codes fügt Elemente zum Array hinzu —-> $cart = [$i]; – Dies wird den Compiler passieren, aber Sie werden nicht bekommen, was Sie wollen

    – unpluggeDloop

    28. Oktober 2019 um 12:08 Uhr


1646878448 558 Wie fuge ich Elemente zu einem leeren Array in PHP
Gemeinschaft

Denken Sie daran, dass diese Methode das erste Array überschreibt, verwenden Sie sie also nur, wenn Sie sich sicher sind!

$arr1 = $arr1 + $arr2;

(siehe Quelle)

  • $cart[] = $ich; – Dieser Teil des Codes fügt Elemente zum Array hinzu —-> $cart = [$i]; – Dies wird den Compiler passieren, aber Sie werden nicht bekommen, was Sie wollen

    – unpluggeDloop

    28. Oktober 2019 um 12:08 Uhr


$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>";
}

985630cookie-checkWie füge ich Elemente zu einem leeren Array in PHP hinzu?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy