Maison  >  Article  >  développement back-end  >  Comment inverser la clé dans un tableau php

Comment inverser la clé dans un tableau php

PHPz
PHPzoriginal
2023-04-26 14:21:18501parcourir

En PHP, le tableau est un type de données très courant, composé d'une ou plusieurs paires clé-valeur. Chaque paire clé-valeur se compose d'une clé et d'une valeur, et différents types de clés et de valeurs peuvent être utilisés dans le tableau.

Dans certains cas, nous pourrons être amenés à inverser les clés tout en conservant les valeurs dans le tableau. L'une des principales raisons est de trouver rapidement une valeur dans un tableau et de renvoyer sa clé sans avoir à parcourir l'ensemble du tableau.

En PHP, inverser les clés et les valeurs d'un tableau est une tâche relativement simple, dans cet article, nous allons explorer comment inverser les clés d'un tableau PHP et donner quelques exemples d'utilisation.

Utilisez la fonction array_flip pour inverser un tableau

La fonction array_flip() en PHP peut être utilisée pour inverser les clés et les valeurs d'un tableau. Cette fonction inverse la relation entre les éléments du tableau de sorte que la clé actuelle devienne la valeur et que la valeur actuelle devienne la clé. array_flip() 函数可以用于反转数组的键和值。该函数将数组中的元素之间的关系翻转,以便当前的键变为值,当前的值变为键。

示例如下:

$original_array = array('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4);
$reversed_array = array_flip($original_array);

在上面的代码中,我们首先声明了一个简单的关联数组 $original_array,它有四个键值对。然后,我们使用 array_flip() 函数将键值对翻转,以生成一个反转后的数组 $reversed_array

反转后的数组 $reversed_array 的输出如下:

Array
(
    [1] => one
    [2] => two
    [3] => three
    [4] => four
)

正如您所看到的,数组的键和值已经被反转了,每个值成为了它原本键的新键。

反转索引数组

在 PHP 中,如果我们想要反转索引数组的键,我们可以使用 array_reverse() 函数。该函数将数组的键和值保持不变,只是将它们的位置相对于数组底部翻转。

示例如下:

$original_array = array('one', 'two', 'three', 'four');
$reversed_array = array_reverse($original_array, true);

在上述示例中,我们首先声明了一个新的索引数组 $original_array,它包含了四个元素。然后,我们使用 array_reverse() 函数将该数组的键翻转,以生成一个反转后的数组 $reversed_array。在本例中,第二个参数设置为 true,表示保留原始数组中的键。

反转后的数组 $reversed_array 的输出如下:

Array
(
    [3] => one
    [2] => two
    [1] => three
    [0] => four
)

正如您所看到的,数组的键已经被反转,而数组中的元素位置并没有改变。

反转多维数组的键

如果我们需要反转多维数组的键,我们可以使用递归函数来处理。递归函数可以遍历整个多维数组,并反转其中所有的键。

示例如下:

function reverse_array_keys($array) {
    if (!is_array($array)) {
        return $array;
    }
    $new_array = array();
    foreach ($array as $key => $value) {
        $new_key = is_numeric($key) ? $key : strrev($key);
        $new_array[$new_key] = reverse_array_keys($value);
    }
    return $new_array;
}

$original_array = array('one' => array('two' => array('three' => 'four')));
$reversed_array = reverse_array_keys($original_array);

在上述示例中,我们首先声明了一个包含多个嵌套数组的数组 $original_array。然后,我们使用 reverse_array_keys() 函数将该数组的键反转,使得每个数组都有其键被翻转。

反转后的数组 $reversed_array 的输出如下:

Array
(
    [eno] => Array
        (
            [owt] => Array
                (
                    [eerht] => four
                )

        )

)

正如您所看到的,多维数组的键已经被反转,每个数组都有其键被翻转。

结论

在 PHP 中,反转数组的键是一项相对简单的任务。我们可以使用 array_flip() 函数来反转关联数组的键和值,使用 array_reverse()

Un exemple est le suivant :

rrreee

Dans le code ci-dessus, nous déclarons d'abord un simple tableau associatif $original_array, qui a quatre paires clé-valeur. Nous retournons ensuite les paires clé-valeur à l'aide de la fonction array_flip() pour produire un tableau inversé $reversed_array. 🎜🎜La sortie du tableau inversé $reversed_array est la suivante : 🎜rrreee🎜Comme vous pouvez le voir, les clés et valeurs du tableau ont été inversées, et chaque valeur devient sa clé d'origine Nouveau clé. 🎜🎜Tableau indexé inversé🎜🎜En PHP, si nous voulons inverser les clés d'un tableau indexé, nous pouvons utiliser la fonction array_reverse(). Cette fonction laisse les clés et les valeurs du tableau inchangées et inverse simplement leurs positions par rapport au bas du tableau. 🎜🎜L'exemple est le suivant : 🎜rrreee🎜Dans l'exemple ci-dessus, nous déclarons d'abord un nouveau tableau d'index $original_array, qui contient quatre éléments. Nous retournons ensuite les clés du tableau en utilisant la fonction array_reverse() pour produire un tableau inversé $reversed_array. Dans ce cas, le deuxième paramètre est défini sur true, ce qui signifie que les clés du tableau d'origine sont conservées. 🎜🎜La sortie du tableau inversé $reversed_array est la suivante : 🎜rrreee🎜Comme vous pouvez le voir, les clés du tableau ont été inversées, mais la position des éléments dans le tableau n'a pas changé . 🎜🎜Inverser les clés d'un tableau multidimensionnel🎜🎜Si nous devons inverser les clés d'un tableau multidimensionnel, nous pouvons utiliser une fonction récursive pour le gérer. Une fonction récursive peut parcourir un tableau multidimensionnel entier et inverser toutes les clés qu'il contient. 🎜🎜Un exemple est le suivant : 🎜rrreee🎜Dans l'exemple ci-dessus, nous déclarons d'abord un tableau $original_array qui contient plusieurs tableaux imbriqués. Nous inversons ensuite les clés de ce tableau en utilisant la fonction reverse_array_keys() afin que chaque tableau ait sa clé inversée. 🎜🎜La sortie du tableau inversé $reversed_array est la suivante : 🎜rrreee🎜Comme vous pouvez le voir, les clés du tableau multidimensionnel ont été inversées, et chaque tableau a ses clés inversées. 🎜🎜Conclusion🎜🎜En PHP, inverser les clés d'un tableau est une tâche relativement simple. On peut utiliser la fonction array_flip() pour inverser les clés et valeurs d'un tableau associatif, la fonction array_reverse() pour inverser les clés d'un tableau indexé, et pour les tableaux multidimensionnels, nous pouvons gérer cela à l'aide de fonctions récursives. 🎜🎜Quelle que soit la méthode que vous utilisez, assurez-vous de bien comprendre les effets de vos opérations et testez que votre code fonctionne comme prévu. 🎜

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!

Déclaration:
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