Aktueller Standort: Startseite> Neueste Artikel> Können PHP -assoziative Arrays mit Array_Push hinzugefügt werden? Die richtige Art, Ihnen beizubringen, wie man arbeitet

Können PHP -assoziative Arrays mit Array_Push hinzugefügt werden? Die richtige Art, Ihnen beizubringen, wie man arbeitet

gitbox 2025-08-30

Die Rolle von Array_push ()

Array_push () ist eine Funktion, die speziell verwendet wird, um ein oder mehrere Elemente zum Ende eines Arrays hinzuzufügen. Seine Syntax ist wie folgt:

 <span><span><span class="hljs-title function_ invoke__">array_push</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> &amp;</span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-keyword">mixed</span></span><span> ...</span><span><span class="hljs-variable">$values</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>
</span></span>
  • $ array : Dies ist das Zielarray, das von Bezug genommen wird.

  • $ Werte : Dies sind die Elemente, die zum Ende des Arrays hinzugefügt werden sollen, was einer oder mehrere sein kann.

Für gewöhnliche indizierte Arrays (d. H. Die Schlüssel des Arrays sind Zahlen) wird Array_push () zum Ende des Arrays ein neues Element hinzufügen, und der Index des Arrays wird automatisch erhöht.

 <span><span><span class="hljs-variable">$arr</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>];
</span><span><span class="hljs-title function_ invoke__">array_push</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>);  </span><span><span class="hljs-comment">// Wille 4 Und 5 Fügen Sie zum Ende des Arrays hinzu</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$arr</span></span><span>);
</span></span>

Ausgabe:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; </span><span><span class="hljs-number">1</span></span><span>
    [</span><span><span class="hljs-meta">1</span></span><span>] =&gt; </span><span><span class="hljs-number">2</span></span><span>
    [</span><span><span class="hljs-meta">2</span></span><span>] =&gt; </span><span><span class="hljs-number">3</span></span><span>
    [</span><span><span class="hljs-meta">3</span></span><span>] =&gt; </span><span><span class="hljs-number">4</span></span><span>
    [</span><span><span class="hljs-meta">4</span></span><span>] =&gt; </span><span><span class="hljs-number">5</span></span><span>
)
</span></span>

Array_push () verhält sich jedoch etwas anders als assoziative Arrays. Lassen Sie uns sehen, warum.


Kann Array_push () für assoziative Arrays verwendet werden?

Bei assoziativen Arrays ist Array_push () keine empfohlene Weise. Der Grund dafür ist, dass Array_push () Elemente nach der Struktur des Arrays am Ende des Arrays angehängt wird, und die Schlüssel des assoziativen Arrays werden vom Entwickler definiert und sind nicht unbedingt inkrementelle Sequenzen von Zahlen. Wenn Sie also versuchen, ein assoziatives Array mit Array_push () zu einem assoziativen Array hinzuzufügen, wird das neue Element am Ende des Arrays hinzugefügt und verwendet automatisch einen inkrementellen Ganzzahlindex als Schlüssel anstelle des assoziativen Schlüssels, den Sie selbst definieren.

 <span><span><span class="hljs-variable">$assocArray</span></span><span> = [</span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'John'</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span> =&gt; </span><span><span class="hljs-number">25</span></span><span>];
</span><span><span class="hljs-title function_ invoke__">array_push</span></span><span>(</span><span><span class="hljs-variable">$assocArray</span></span><span>, </span><span><span class="hljs-string">'developer'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$assocArray</span></span><span>);
</span></span>

Ausgabe:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">name</span></span><span>] =&gt; John
    [</span><span><span class="hljs-meta">age</span></span><span>] =&gt; </span><span><span class="hljs-number">25</span></span><span>
    [</span><span><span class="hljs-meta">0</span></span><span>] =&gt; developer
)
</span></span>

Wie Sie sehen können, fügt Array_push () zum Ende des Arrays einen Wert "Entwickler" hinzu, verwendet jedoch automatisch den numerischen Index [0] , was offensichtlich nicht das Verhalten ist, das wir erwarten.


Methoden, um assoziative Arrays korrekt hinzuzufügen

Um ein assoziatives Array korrekt hinzuzufügen, sollten Sie die Schlüssel des Arrays direkt verwenden, um Werte anstelle von Array_push () zuzuweisen. Angenommen, wir möchten ein neues Schlüsselwertpaar hinzufügen, können wir es wie folgt tun:

 <span><span><span class="hljs-variable">$assocArray</span></span><span> = [</span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'John'</span></span><span>, </span><span><span class="hljs-string">'age'</span></span><span> =&gt; </span><span><span class="hljs-number">25</span></span><span>];
</span><span><span class="hljs-variable">$assocArray</span></span><span>[</span><span><span class="hljs-string">'job'</span></span><span>] = </span><span><span class="hljs-string">'developer'</span></span><span>;  </span><span><span class="hljs-comment">// Verwenden Sie Assoziationsschlüssel "job" Elemente hinzufügen</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$assocArray</span></span><span>);
</span></span>

Ausgabe:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">name</span></span><span>] =&gt; John
    [</span><span><span class="hljs-meta">age</span></span><span>] =&gt; </span><span><span class="hljs-number">25</span></span><span>
    [</span><span><span class="hljs-meta">job</span></span><span>] =&gt; developer
)
</span></span>

Wie oben gezeigt, fügen wir dem assoziativen Array Elemente hinzu, indem wir den assoziativen Schlüsseljob direkt angeben, damit die Struktur des Arrays genau kontrolliert werden kann.

Wenn Sie dynamisch Schlüsselwertpaare hinzufügen müssen, können Sie zuerst einen neuen Schlüssel definieren und dann den entsprechenden Wert ihm zuweisen. Zum Beispiel:

 <span><span><span class="hljs-variable">$key</span></span><span> = </span><span><span class="hljs-string">'city'</span></span><span>;
</span><span><span class="hljs-variable">$value</span></span><span> = </span><span><span class="hljs-string">'New York'</span></span><span>;
</span><span><span class="hljs-variable">$assocArray</span></span><span>[</span><span><span class="hljs-variable">$key</span></span><span>] = </span><span><span class="hljs-variable">$value</span></span><span>;  </span><span><span class="hljs-comment">// Dynamisch hinzugefügt</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$assocArray</span></span><span>);
</span></span>

Ausgabe:

 <span><span>Array
(
    [</span><span><span class="hljs-meta">name</span></span><span>] =&gt; John
    [</span><span><span class="hljs-meta">age</span></span><span>] =&gt; </span><span><span class="hljs-number">25</span></span><span>
    [</span><span><span class="hljs-meta">job</span></span><span>] =&gt; developer
    [</span><span><span class="hljs-meta">city</span></span><span>] =&gt; New York
)
</span></span>