Comment implémenter la sortie dans l'ordre inverse d'un tableau en PHP

PHPz
Libérer: 2023-04-19 10:49:57
original
2172 Les gens l'ont consulté

En PHP, il existe de nombreuses fonctions qui peuvent être utilisées pour afficher l'ordre inverse des tableaux, telles que array_reverse(), rsort(), arsort() , etc. Cependant, si vous n'utilisez pas ces fonctions, comment obtenir la sortie inverse du tableau ? Ci-dessous, nous présenterons plusieurs méthodes de mise en œuvre. array_reverse()rsort()arsort()等。但是,如果不使用这些函数,如何实现数组的倒序输出呢?下面我们就来介绍几种实现方法。

一、使用for循环

$arr = array(1, 2, 3, 4, 5);
$len = count($arr);
for ($i = $len - 1; $i >= 0; $i--) {
    echo $arr[$i] . " ";
}
Copier après la connexion

通过for循环,从数组最后一个元素开始遍历,然后逐步减少索引$i,输出每个元素即可。这种方法简单明了,但是需要手动计算数组长度。

二、使用while循环

$arr = array(1, 2, 3, 4, 5);
while ($value = end($arr)) {
    echo $value . " ";
    prev($arr); // 向前移动指针
}
Copier après la connexion

通过end()函数获取数组的最后一个元素,然后逐个输出并通过prev()函数将指针移向前一个元素。当指针移动到第一个元素时,end()函数将返回false,退出循环。

三、使用foreach循环

$arr = array(1, 2, 3, 4, 5);
$reverseArr = array();
foreach ($arr as $value) {
    array_unshift($reverseArr, $value);
}
foreach ($reverseArr as $value) {
    echo $value . " ";
}
Copier après la connexion

通过foreach循环遍历数组,将数组元素添加到新数组的开头,即从后往前添加。最后再通过foreach循环输出新数组中的元素,即为原数组的倒序。

四、使用do-while循环

$arr = array(1, 2, 3, 4, 5);
$len = count($arr);
$i = $len - 1;
do {
    echo $arr[$i] . " ";
    $i--;
} while ($i >= 0);
Copier après la connexion

使用do-while循环,从数组最后一个元素开始遍历,然后逐步减少索引$i,输出每个元素即可。与for循环类似,但是不需要手动计算数组长度。不过需要注意的是,do-while循环至少会执行一次,也就是说,如果数组为空时,会产生错误。

五、使用array_splice()函数

$arr = array(1, 2, 3, 4, 5);
$reverseArr = array();
while (count($arr) > 0) {
    $lastVal = array_splice($arr, -1);
    $reverseArr = array_merge($reverseArr, $lastVal);
}
foreach ($reverseArr  as $value) {
    echo $value . " ";
}
Copier après la connexion

通过array_splice()

1. Utilisez la boucle for

rrreeeÀ travers la boucle for, commencez à parcourir à partir du dernier élément du tableau, puis réduisez progressivement l'index $i et affichez chaque élément. Cette méthode est simple et directe, mais nécessite un calcul manuel de la longueur du réseau.

2. Utilisez la boucle while

rrreeeObtenez le dernier élément du tableau via la fonction end(), puis affichez-le un par un via prev( ) fonction Déplace le pointeur vers l'élément précédent. Lorsque le pointeur se déplace vers le premier élément, la fonction end() renverra false et quittera la boucle. 🎜

3. Utilisez la boucle foreach

rrreee🎜Parcourez le tableau à travers la boucle foreach et ajoutez des éléments du tableau au début du nouveau tableau, c'est-à-dire ajoutez-les de l'arrière vers l'avant. Enfin, les éléments du nouveau tableau sont sortis via la boucle foreach, qui est l'ordre inverse du tableau d'origine. 🎜

4. Utilisez la boucle do-while

rrreee🎜Utilisez la boucle do-while, commencez à parcourir à partir du dernier élément du tableau, puis réduisez progressivement l'index $i et affichez chaque élément. Semblable à une boucle for, mais ne nécessite pas de calcul manuel de la longueur du tableau. Cependant, il convient de noter que la boucle do-while sera exécutée au moins une fois, c'est-à-dire que si le tableau est vide, une erreur se produira. 🎜

5. Utilisez la fonction array_splice()

rrreee🎜Utilisez la fonction array_splice() pour supprimer le dernier élément de la fin du tableau, renvoyez l'élément supprimé, puis fusionnez-le avec le nouveau tableau. Répétez ce processus jusqu'à ce que le tableau d'origine soit vide, et enfin génèrez un nouveau tableau, qui est l'ordre inverse du tableau d'origine. 🎜🎜Ci-dessus, il existe plusieurs façons d'implémenter la sortie d'un tableau dans l'ordre inverse en PHP sans utiliser de fonctions. Les lecteurs peuvent choisir différentes méthodes en fonction des besoins réels. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal