Maison  >  Article  >  développement back-end  >  Comment changer les clés d'un tableau en php

Comment changer les clés d'un tableau en php

PHPz
PHPzoriginal
2023-04-23 09:13:48465parcourir

Les tableaux sont l'un des types de données les plus utiles et les plus couramment utilisés en PHP. Les tableaux jouent un rôle important dans le traitement de données multidimensionnelles et lors du stockage et de l'accès aux données en mémoire. Dans certains cas, nous devons modifier les clés d'un tableau pour accéder plus facilement à une valeur spécifique, ce qui est un besoin courant dans les opérations sur les tableaux.

Cet article expliquera comment modifier les clés d'un tableau à l'aide de certaines fonctions intégrées en PHP. Nous explorerons trois cas d'utilisation courants :

  1. Changer les clés d'un tableau

En PHP, nous pouvons utiliser la fonction array_keys pour générer une liste de clés de tableau, puis utiliser La fonction array_combine associe une nouvelle liste de clés aux valeurs du tableau d'origine, vous permettant de modifier les clés du tableau. array_keys 函数来生成一个数组的键名列表,然后使用 array_combine 函数将新的键名列表与原始数组的值配对,这样就可以更改数组的键名了。

以下是一个例子:

$oldArray = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$newKeys = array(
    '1' =>'apple',
    '2' => 'banana',
    '3' => 'cherry'
);

$newArray = array_combine($newKeys, $oldArray);

print_r($newArray);

输出:

Array
(
    [apple] => apple
    [banana] => banana
    [cherry] => cherry
)
  1. 更改数组的键值

我们可以使用 array_map 函数,结合一个匿名函数,来更改数组的键值。匿名函数会将每个值作为参数传递,并返回一个新的值,然后将这些新的键值对存储在新的数组中。

以下是一个例子:

$oldArray = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$newArray = array_map(function($value) {
    return strtoupper($value);
}, $oldArray);

print_r($newArray);

输出:

Array
(
    [a] => APPLE
    [b] => BANANA
    [c] => CHERRY
)

在上面的例子中,我们使用 array_map 函数将每个值传递给一个将字符串转换为大写字母的匿名函数,并将新的键值对存储在新数组中。

  1. 更改多维数组的键名

如果您有一个多维的数组,您可以使用递归的方式来更改键名。通过递归地遍历每个值并更改其键名,我们可以方便地进行多维数组的转换。

以下是一个例子:

$array = array(
    "a" => array(
        "b" => array(
            "c" => "apple"
        )
    ),
    "d" => array(
        "e" => array(
            "f" => "banana"
        )
    ),
    "g" => array(
        "h" => "cherry"
    )
);

function changeKeys(array $array, array $newKeys): array
{
    $newArray = array();
    foreach ($array as $key => $value) {
        if (array_key_exists($key, $newKeys)) {
            $key = $newKeys[$key];
        }
        if (is_array($value)) {
            $value = changeKeys($value, $newKeys);
        }
        $newArray[$key] = $value;
    }
    return $newArray;
}

$newKeys = array(
    'a' => 'apple',
    'd' => 'banana',
    'g' => 'cherry'
);

$newArray = changeKeys($array, $newKeys);

print_r($newArray);

输出:

Array
(
    [apple] => Array
        (
            [b] => Array
                (
                    [c] => apple
                )

        )

    [banana] => Array
        (
            [e] => Array
                (
                    [f] => banana
                )

        )

    [cherry] => Array
        (
            [h] => cherry
        )

)

在上面的例子中,我们递归遍历数组并查找新键名的对应项,然后将其用作新的键名。如果遇到嵌套数组,则在递归过程中继续进行修改。

总结

在 PHP 中,更改数组的键名和键值是一项非常有用的操作,尤其是在处理多维数据时。本文介绍了三种常见的方法:使用 array_combine 函数更改数组的键名,使用 array_map

Ce qui suit est un exemple : 🎜rrreee🎜Sortie : 🎜rrreee
    🎜Changer la valeur clé du tableau🎜🎜🎜Nous pouvons utiliser la fonction array_map, combinée avec une fonction anonyme, pour modifier la valeur clé d'un tableau. La fonction anonyme transmet chaque valeur en paramètre et renvoie une nouvelle valeur, puis stocke ces nouvelles paires clé-valeur dans un nouveau tableau. 🎜🎜Voici un exemple : 🎜rrreee🎜Sortie : 🎜rrreee🎜Dans l'exemple ci-dessus, nous utilisons la fonction array_map pour transmettre chaque valeur à une fonction anonyme qui convertit la chaîne en majuscule et stocke le de nouvelles paires clé-valeur dans un nouveau tableau. 🎜
      🎜Changer le nom de clé d'un tableau multidimensionnel🎜🎜🎜Si vous disposez d'un tableau multidimensionnel, vous pouvez utiliser la récursivité pour changer le nom de clé. Nous pouvons facilement convertir des tableaux multidimensionnels en parcourant de manière récursive chaque valeur et en modifiant son nom de clé. 🎜🎜Voici un exemple : 🎜rrreee🎜Sortie : 🎜rrreee🎜Dans l'exemple ci-dessus, nous parcourons récursivement le tableau et trouvons la contrepartie du nouveau nom de clé, puis l'utilisons comme nouveau nom de clé. Si des tableaux imbriqués sont rencontrés, les modifications se poursuivent pendant la récursion. 🎜🎜Résumé🎜🎜En PHP, changer le nom de clé et la valeur de clé d'un tableau est une opération très utile, en particulier lorsqu'il s'agit de données multidimensionnelles. Cet article décrit trois méthodes courantes : modifier les clés d'un tableau à l'aide de la fonction array_combine, modifier les clés d'un tableau à l'aide de la fonction array_map et modifier de manière récursive les clés d'un tableau multidimensionnel. J'espère que cet article vous sera utile. 🎜

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