Position actuelle: Accueil> Derniers articles> Comment utiliser array_values ​​avec array_slice? Conseils pratiques pour améliorer l'efficacité du traitement des tableaux

Comment utiliser array_values ​​avec array_slice? Conseils pratiques pour améliorer l'efficacité du traitement des tableaux

gitbox 2025-09-17

En PHP, les opérations de tableau sont une tâche inévitable dans le développement quotidien. array_values ​​et array_slice sont deux fonctions de tableau très couramment utilisées, qui peuvent aider les développeurs à traiter et à manipuler les tableaux plus efficacement. Aujourd'hui, nous explorerons en profondeur la façon dont ces deux fonctions sont utilisées ensemble pour améliorer l'efficacité du traitement des tableau.

1. Introduction à la fonction array_values

La fonction de la fonction array_values ​​est de renvoyer toutes les valeurs dans le tableau et de réindexer les touches du tableau. Cette fonction extrait toutes les valeurs du tableau, ignore les noms de clés et renvoie un tableau d'index à partir de 0. Cette fonction est généralement utilisée dans les cas suivants:

  • Lorsque vous devez supprimer les noms de clés du tableau, ne vous souciez que des valeurs du tableau;

  • Lorsque les clés du tableau d'origine ne sont pas continues, utilisez Array_values ​​pour réorganiser l'index, en vous assurant que les noms de clés du tableau sont des entiers continus à partir de 0.

Exemple :

 <span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-string">"a"</span></span><span> =&gt; </span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-string">"b"</span></span><span> =&gt; </span><span><span class="hljs-string">"banana"</span></span><span>, </span><span><span class="hljs-string">"c"</span></span><span> =&gt; </span><span><span class="hljs-string">"cherry"</span></span><span>];
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span></span>

Sortir:

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; apple
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; cherry
)
</span></span>

Comme indiqué ci-dessus, la fonction Array_Values ​​renvoie un tableau réindexé, les noms de clés d'origine ( a , b , c ) sont ignorés, seules les valeurs sont conservées et réorganisées par l'index numérique.

2. Introduction à la fonction array_slice

La fonction Array_Slice est utilisée pour extraire une partie de l'élément d'un tableau et renvoyer un sous-réseau de cette partie. Il permet aux développeurs de spécifier où commencer à extraire et combien d'éléments à extraire. Cette fonction ne modifie pas le tableau d'origine, il renvoie un nouveau sous-réseau.

Exemple :

 <span><span><span class="hljs-variable">$array</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-number">4</span></span><span>, </span><span><span class="hljs-number">5</span></span><span>];
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_slice</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);  </span><span><span class="hljs-comment">// De l&#39;index 2 Commencer l&#39;extraction 2 Éléments</span></span><span>
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span></span>

Sortir:

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; </span><span><span class="hljs-number">3</span></span><span>
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-number">4</span></span><span>
)
</span></span>

Dans cet exemple, Array_Slice commence par l'index 2, extrait 2 éléments et renvoie un nouveau tableau [3, 4] .

3. Array_values ​​sont utilisés en combinaison avec array_slice

La combinaison de Array_values ​​et Array_Slice peut donner un jeu complet aux énormes avantages, en particulier lorsqu'il s'agit de réseaux d'index discontinus. En combinant ces deux fonctions, nous pouvons trancher efficacement le tableau tout en garantissant que le tableau renvoyé a la bonne valeur de clé.

Supposons que vous ayez un tableau qui contient des indices non contigus, et après avoir utilisé Array_slice pour trancher, l'index peut être discontinu. À ce stade, si vous souhaitez vous assurer que le tableau renvoyé est indexé à partir de 0, vous pouvez réindexer avec array_slice après array_slice .

Exemple :

 <span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-number">5</span></span><span> =&gt; </span><span><span class="hljs-string">"apple"</span></span><span>, </span><span><span class="hljs-number">10</span></span><span> =&gt; </span><span><span class="hljs-string">"banana"</span></span><span>, </span><span><span class="hljs-number">15</span></span><span> =&gt; </span><span><span class="hljs-string">"cherry"</span></span><span>];
</span><span><span class="hljs-variable">$sliced</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_slice</span></span><span>(</span><span><span class="hljs-variable">$array</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-comment">// De l&#39;index 1 commencer,extrait 2 Éléments</span></span><span>
</span><span><span class="hljs-variable">$reindexed</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_values</span></span><span>(</span><span><span class="hljs-variable">$sliced</span></span><span>);    </span><span><span class="hljs-comment">// Réindex</span></span><span>

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$reindexed</span></span><span>);
</span></span>

Sortir:

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">0</span></span><span>] =&gt; banana
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; cherry
)
</span></span>

Dans cet exemple, Array_Slice extrait "banane" et "cerise" dans le tableau, mais leurs indices sont toujours 0 et 1 (10 et 15 dans le tableau source). Après avoir utilisé Array_values , les clés du tableau sont réinitialisées, à partir de 0, assurant la continuité de l'indice.

4. Scénarios qui améliorent l'efficacité

La combinaison de Array_Slice et Array_Values ​​est particulièrement importante lors de la gestion des données à grande échelle, en particulier lorsqu'elle est nécessaire d'extraire certaines parties d'un tableau. Les pièces requises sont extraites via Array_Slice , réduisant le chargement de données inutile et la mémoire de la mémoire; Dans le même temps, l'indice de tableau renvoyé est rendu continu via Array_Values , qui facilite le traitement ultérieur.

De plus, la fonction Array_Slice de PHP elle-même a de bonnes performances dans l'implémentation sous-jacente, donc l'utiliser avec Array_Values ​​peut assurer l'efficacité de l'opération de code et la simplicité de l'opération Array.

5. Résumé

Grâce à la combinaison de Array_values ​​et Array_Slice , les développeurs PHP peuvent manipuler les tableaux de manière plus flexible et efficace. Array_slice est utilisé pour trancher les tableaux, tandis que Array_values ​​est utilisé pour assurer la continuité de l'index. Après la combinaison des deux, la structure du code peut être efficacement simplifiée et l'efficacité d'exécution du code peut être améliorée, en particulier lorsqu'il s'agit de réseaux indexés irréguliers ou discontinus. Cette technique peut considérablement améliorer la maintenabilité des opérations de réseau.

Que ce soit lorsque vous traitez avec des tableaux à petite échelle ou des tableaux à grande échelle, la maîtrise des compétences d'utilisation de ces deux fonctions rendra votre programmation PHP plus pratique.