Position actuelle: Accueil> Derniers articles> Comment utiliser Array_unshift pour implémenter l'opération Push? Ceci est la méthode de fonctionnement de la pile PHP réelle

Comment utiliser Array_unshift pour implémenter l'opération Push? Ceci est la méthode de fonctionnement de la pile PHP réelle

M66 2025-06-22

Dans PHP, la fonction Array_unShift () peut insérer un ou plusieurs éléments au début d'un tableau. Cette fonction est généralement utilisée pour simuler les opérations de pile, en particulier pour implémenter les opérations "push". De nombreux développeurs croient à tort que Array_push () de PHP est la bonne façon d'implémenter les opérations de pile. En fait, Array_unShift () est une fonctionnalité plus proche de la pile, en particulier lorsque nous devons traiter les données dans l'ordre.

Introduction à Stack

Une pile est une structure de données qui suit le principe de "Last in First Out". C'est-à-dire que les éléments ajoutés à la pile sont d'abord supprimés. Il y a deux opérations de base sur la pile:

  • Poussez : ajoutez des éléments en haut de la pile.

  • Pop : supprime les éléments du haut de la pile.

Dans PHP, il existe deux méthodes d'implémentation de pile communes: l'une consiste à utiliser array_push () et array_pop () , et l'autre est d'utiliser array_unshift () et array_shift () . Aujourd'hui, nous nous concentrons sur la deuxième méthode, comment utiliser array_unshift () pour simuler l'opération push de la pile.

array_unshift () implémente l'opération de poussée

La fonction de la fonction array_unshift () consiste à insérer un ou plusieurs éléments dans le début du tableau, ce qui est en fait équivalent à l'opération push de la pile. Voir l'exemple de code suivant:

 <?php
// Initialiser un tableau vide
$stack = array();

// utiliser array_unshift accomplir push fonctionner
array_unshift($stack, "Le premier élément");
array_unshift($stack, "Le deuxième élément");
array_unshift($stack, "Le troisième élément");

// Éléments de la pile d&#39;impression
print_r($stack);
?>

Résultat de sortie:

 Array
(
    [0] => Le troisième élément
    [1] => Le deuxième élément
    [2] => Le premier élément
)

Comme vous pouvez le voir, après avoir utilisé array_unshift () , les derniers éléments sont toujours ajoutés à l'avant du tableau, qui met en œuvre la fonctionnalité de la dernière entrée (LIFO) de la pile.

Point clé: pourquoi array_unshift () est-il plus conforme aux opérations de pile

array_push () consiste à ajouter des éléments à la fin du tableau, mais array_unshift () est plus approprié si vous avez besoin d'une opération conforme aux caractéristiques de la pile. La raison en est:

  1. Dernier en premier à sortir : à chaque fois, l'élément est placé dans l'extrémité avant du tableau via array_unshift () , garantissant que le dernier élément ajouté est accessible en premier.

  2. Priorité supérieure de l'élément : par rapport à array_push () , array_unshift () garantit que le dernier élément se trouve toujours en "haut de la pile" du tableau.

Simuler l'opération pop de la pile

Bien que Array_unShift () puisse être utilisé pour implémenter l'opération "push", le noyau de la pile ne consiste pas seulement à ajouter des éléments, mais aussi à pouvoir supprimer des éléments du haut de la pile. Pour ce faire, nous pouvons utiliser array_shift () pour simuler l'opération "POP".

 <?php
// utiliser array_shift Retirer les éléments du haut de la pile
$removedElement = array_shift($stack);
echo "Éléments supprimés: " . $removedElement . "\n";

// Éléments de la pile d&#39;impression
print_r($stack);
?>

Résultat de sortie:

 Éléments supprimés: Le troisième élément
Array
(
    [0] => Le deuxième élément
    [1] => Le premier élément
)

De cette façon, vous pouvez simuler complètement les opérations "push" et "pop" de la pile.

résumé

  • Utilisez array_unshift () pour implémenter les opérations push , qui sont plus conformes aux caractéristiques de fonctionnement de la pile, garantissant que les nouveaux éléments sont toujours en haut de la pile.

  • Utilisez array_shift () pour supprimer l'élément supérieur de la pile et simuler l'opération "POP" de la pile.

Qu'il s'agisse de traitement des données ou d'implémentation de structures de pile d'algorithmes complexes, array_unshift () et array_shift () sont des compétences de base à maîtriser.