méthode d'inversion du tableau php

PHPz
Libérer: 2023-05-11 10:55:06
original
2922 Les gens l'ont consulté

Cet article présentera la méthode d'inversion de tableau php.

En PHP, le tableau est l'un des types de données les plus courants, qui peut stocker plusieurs valeurs. La mise en œuvre de l'opération d'inversion d'un tableau est l'une des exigences courantes. Ce qui suit montre plusieurs méthodes différentes pour implémenter l'opération d'inversion du tableau php.

Méthode 1 : fonction array_reverse()

PHP fournit une fonction intégrée array_reverse() pour inverser le tableau. Cette fonction renvoie un nouveau tableau dans lequel les éléments du tableau d'origine sont disposés dans l'ordre inverse. Par exemple :

$arr = array(1, 2, 3, 4, 5); $reversedArr = array_reverse($arr); print_r($reversedArr);
Copier après la connexion

Le résultat de l'exécution du code ci-dessus est :

Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Cette fonction peut également choisir de conserver ou de réinitialiser le nom de clé du tableau. Le deuxième paramètre est facultatif et sa valeur par défaut est false, ce qui signifie que le nom de la clé n'est pas conservé. Si la valeur est vraie, le nom de la clé est conservé.

$arr = array("one" => 1, "two" => 2, "three" => 3, "four" => 4, "five" => 5); $reversedArr = array_reverse($arr, true); print_r($reversedArr);
Copier après la connexion

Le résultat de sortie est :

Array ( [five] => 5 [four] => 4 [three] => 3 [two] => 2 [one] => 1 )
Copier après la connexion

Méthode 2 : boucle for

L'opération d'inversion de tableau peut également être implémentée à l'aide de la boucle for. Nous pouvons utiliser deux pointeurs, un au début et un à la fin du tableau, déplacer les deux pointeurs dans une boucle et échanger les éléments en conséquence. L'implémentation spécifique est la suivante :

$arr = array(1, 2, 3, 4, 5); $len = count($arr); for ($i = 0; $i < $len / 2; $i++) { $temp = $arr[$i]; $arr[$i] = $arr[$len - $i - 1]; $arr[$len - $i - 1] = $temp; } print_r($arr);
Copier après la connexion

Le résultat de sortie est :

Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Méthode 3 : utilisez la fonction array_reduce() et le nom de la clé du tableau inversé

Nous pouvons également utiliser la fonction array_reduce() pour inverser le tableau. La fonction array_reduce() accepte un tableau itérable et peut utiliser des fonctions de rappel pour effectuer des opérations telles que la sommation, le filtrage et la transformation sur chaque élément. Voici un exemple d'inversion de tableau :

$arr = array(1, 2, 3, 4, 5); $reversedArr = array_reduce(array_keys($arr), function ($acc, $key) use ($arr) { $acc[$key] = $arr[count($arr) - 1 - $key]; return $acc; }, []); print_r($reversedArr);
Copier après la connexion

Le résultat de sortie est :

Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Le code ci-dessus utilise la fonction array_keys() pour obtenir le nom de clé du tableau et le transmet comme premier paramètre à array_reduce(). fonction, de sorte que Utilisé dans l'implémentation de la fonction de rappel. La fonction de rappel suivante utilise le nom de la clé pour calculer l'index inverse du tableau, inversant ainsi le tableau. Le paramètre $acc est un accumulateur dont la valeur est toujours un tableau, la valeur initiale étant le tableau vide [].

Comme vous pouvez le voir, utiliser la fonction array_reduce() pour réaliser l'inversion de tableau est quelque peu compliqué. Mais cette fonction est très utile lorsqu’il s’agit d’autres opérations sur les tableaux.

Méthode 4 : Utilisez les fonctions array_multisort() et array_column()

La dernière façon d'implémenter l'opération d'inversion de tableau consiste à utiliser les fonctionnalités de PHP pour traiter des tableaux multidimensionnels. Nous pouvons d’abord utiliser la fonction array_multisort() pour trier les index pairs et impairs indépendants dans l’ordre inverse en fonction de l’index du tableau. Ensuite, utilisez la fonction array_column() pour reconvertir le tableau en un seul tableau. L'implémentation spécifique est la suivante :

$arr = array(1, 2, 3, 4, 5); $n = count($arr); for ($i = 0; $i < $n; $i++) { if ($i % 2 == 0) { $even[] = $arr[$i]; } else { $odd[] = $arr[$i]; } } array_multisort(array_reverse($odd), SORT_NUMERIC, array_reverse($even), SORT_NUMERIC); $reversedArr = array_column(array($even, $odd), 0); print_r($reversedArr);
Copier après la connexion

Le résultat de sortie est :

Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )
Copier après la connexion
Copier après la connexion
Copier après la connexion
Copier après la connexion

Le code ci-dessus stocke l'index impair et l'index pair dans deux tableaux $impair et $pair respectivement. Ensuite, utilisez la fonction array_multisort() pour trier les deux tableaux dans l'ordre inverse, et enfin utilisez la fonction array_column() pour convertir le tableau bidimensionnel en un seul tableau.

Résumé

Cet article traite de quatre méthodes différentes pour implémenter l'opération d'inversion de tableau PHP. Parmi elles, la fonction array_reverse() est la méthode la plus simple et la plus directe. La méthode de la boucle for est relativement simple à utiliser, mais pas aussi efficace que la fonction array_reverse(). Implémenter l'inversion de tableau à l'aide de la fonction array_reduce() est relativement complexe, mais la fonction est très utile lorsque vous travaillez avec d'autres opérations sur les tableaux. Enfin, nous montrons une approche basée sur les fonctions array_multisort() et array_column() pour implémenter des opérations d'inversion de tableaux en tirant parti des capacités de PHP pour gérer les tableaux multidimensionnels.

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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!