it-swarm.com.de

Unterschied zwischen array_Push () und $ array [] =

( array_Push ) sagt im Handbuch PHP ..

Wenn Sie array_Push () verwenden, um ein Element zum Array hinzuzufügen, ist es besser Verwenden Sie $ array [] =, da auf diese Weise kein Aufwand für den Aufruf einer .__ entsteht. Funktion.

Zum Beispiel :

$arr = array();
array_Push($arr, "stackoverflow");
print_r($arr);

vs

$arr[] = "stackoverflow";
print_r($arr);

Ich verstehe nicht, warum es einen großen Unterschied gibt.

106
l2aelba

Wenn Sie eine Funktion in PHP (z. B. array_Push()) aufrufen, hat der Aufruf einen Aufwand, da PHP die Funktionsreferenz nachschlagen, ihre Position im Speicher ermitteln und den von ihm definierten Code ausführen muss.

Die Verwendung von $arr[] = 'some value'; erfordert keinen Funktionsaufruf und implementiert den Zusatz direkt in die Datenstruktur. Wenn Sie viele Daten hinzufügen, ist die Verwendung von $arr[] viel schneller und ressourcenschonender.

141
BenM

Sie können mit array_Push mehr als 1 Element auf einmal zum Array hinzufügen.

z.B. array_Push($array_name, $element1, $element2,...)

Wobei $ element1, $ element2, ... Elemente sind, die zum Array hinzugefügt werden sollen.

Wenn Sie jedoch nur ein Element gleichzeitig hinzufügen möchten, sollte eine andere Methode (d. H. Verwendung von $ array_name []) bevorzugt werden.

42
Sujit Singh

Der Unterschied besteht in der folgenden Zeile: "Auf diese Weise entsteht beim Aufrufen einer Funktion kein Aufwand."

array_Push() gibt eine Warnung aus, wenn das erste Argument nicht .__ ist. eine Anordnung. Dies unterscheidet sich vom Verhalten von $var[], wenn ein neues Array .__ ist. erstellt.

12
Baig

Sie sollten möglichst immer $array[] verwenden, da der Box-Aufruf keinen Overhead für den Funktionsaufruf enthält. Damit ist es etwas schneller als der Funktionsaufruf.

7
Benjamin Paap

array_Push - Schiebe ein oder mehrere Elemente an das Ende des Arrays

Beachten Sie die Wörter "ein oder mehrere Elemente am Ende" Dazu müssen Sie mit $arr[] die maximale Größe des Arrays ermitteln

5
ianace

erklären: 1.Der erste deklariert die Variable im Array.

2. Die zweite array_Push-Methode wird verwendet, um den String in die Array-Variable zu verschieben.

3. Schließlich wird das Ergebnis gedruckt.

4. Die zweite Methode ist das direkte Speichern der Zeichenfolge im Array.

5.Die Daten werden in den Array-Werten in der print_r-Methode gedruckt.

diese beiden sind gleich

2
Saravana Kumar

beide sind gleich, aber array_Push macht eine Schleife in seinem Parameter, der ein Array ist, und führt $ array [] = $ -Element aus

1
Sara

Niemand hat gesagt, aber array_Push schiebt nur ein Element zum END OF THE ARRAY, wo $ array [index] einen Wert an einem beliebigen Index einfügen kann. Großer Unterschied.

1
Marco

Ich weiß, dass dies eine alte Antwort ist, aber es kann für andere hilfreich sein zu wissen, dass ein weiterer Unterschied zwischen den beiden besteht, wenn Sie mehr als 2/3 Werte pro Schleife zu einem Array hinzufügen müssen, ist es schneller zu verwenden:

     for($i = 0; $i < 10; $i++){
          array_Push($arr, $i, $i*2, $i*3, $i*4, ...)
     }

anstatt:

     for($i = 0; $i < 10; $i++){
         $arr[] = $i;
         $arr[] = $i*2;
         $arr[] = $i*3;
         $arr[] = $i*4;
         ...
     }

bearbeiten- Vergessen, die Klammer für die for-Bedingung zu schließen

0

In normalen Worten .. 

// produces: array(0=>'foo', 1=>'bar');
$arr[] = 'foo'
$arr[] = 'bar'

//produces: array('foo', 'bar');
array_Push($arr, 'foo', 'bar');
0
Chris Visser