Position actuelle: Accueil> Derniers articles> Les tableaux associatifs PHP peuvent-ils être ajoutés avec Array_push? La bonne façon de vous apprendre à fonctionner

Les tableaux associatifs PHP peuvent-ils être ajoutés avec Array_push? La bonne façon de vous apprendre à fonctionner

gitbox 2025-08-30

Le rôle de Array_push ()

Array_push () est une fonction spécifiquement utilisée pour ajouter un ou plusieurs éléments à la fin d'un tableau. Sa syntaxe est la suivante:

 <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 : Il s'agit du tableau cible, qui est passé par référence.

  • $ Valeurs : Ce sont les éléments à ajouter à la fin du tableau, qui peuvent être un ou plusieurs.

Pour les tableaux indexés ordinaires (c'est-à-dire que les clés du tableau sont des nombres), array_push () ajoutera un nouvel élément à la fin du tableau et l'index du tableau sera automatiquement incrémenté.

 <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">// Volonté 4 et 5 Ajouter à la fin du tableau</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>

Sortir:

 <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>

Cependant, Array_push () se comporte quelque peu différemment des tableaux associatifs. Voyons pourquoi.


Array_push () peut-il être utilisé pour les tableaux associatifs?

Pour les tableaux associatifs, array_push () n'est pas un moyen recommandé. La raison en est que Array_push () ajoutera des éléments à la fin du tableau en fonction de la structure du tableau, et les clés du tableau associatif sont définies par le développeur et ne sont pas nécessairement des séquences de nombres. Ainsi, lorsque vous essayez d'ajouter des éléments à un tableau associatif utilisant array_push () , le nouvel élément sera ajouté à la fin du tableau et utilisera automatiquement un index entier incrémentiel comme clé au lieu de la clé associative que vous définissez vous-même.

 <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>

Sortir:

 <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>

Comme vous pouvez le voir, array_push () ajoute un «développeur» de valeur à la fin du tableau, mais il utilise automatiquement l'index numérique [0] , ce qui n'est évidemment pas le comportement que nous attendons.


Méthodes pour ajouter correctement les éléments aux tableaux associatifs

Pour ajouter correctement les éléments à un tableau associatif, vous devez utiliser directement les clés du tableau pour attribuer des valeurs au lieu de Array_push () . Par exemple, supposons que nous voulons ajouter une nouvelle paire de valeurs clés, nous pouvons le faire comme suit:

 <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">// Utiliser des clés d&#39;association "job" Ajouter des éléments</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>

Sortir:

 <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>

Comme indiqué ci-dessus, nous ajoutons des éléments au tableau associatif en spécifiant directement le travail de clé associatif, afin que la structure du tableau puisse être contrôlée avec précision.

Si vous devez ajouter dynamiquement les paires de valeurs de clé, vous pouvez d'abord définir une nouvelle clé, puis y attribuer la valeur correspondante. Par exemple:

 <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">// Ajouté dynamiquement</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>

Sortir:

 <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>