Maison  >  Article  >  développement back-end  >  Comment changer le nom de clé ou l'index d'un tableau PHP

Comment changer le nom de clé ou l'index d'un tableau PHP

PHPz
PHPzoriginal
2023-04-19 10:08:41634parcourir

En PHP, le tableau est un type de données très couramment utilisé. Nous pouvons généralement accéder aux éléments d’un tableau en utilisant des noms d’index ou de clé. Dans certains cas, nous devrons peut-être modifier le nom de clé ou l'index d'un élément. Cet article explique comment modifier le nom de clé ou l'index d'un tableau PHP.

1. Modifiez l'index du tableau

1. Utilisez la fonction PHP array_values()

Si vous souhaitez modifier l'index du tableau, vous pouvez utiliser la fonction intégrée PHP array_values(). Cette fonction renverra un nouveau tableau d'index avec des index incrémentés à partir de 0.

Exemple de code :

// 原数组
$fruits = array("apple", "banana", "cherry");
 
// 使用array_values()函数获取新的索引数组
$new_fruits = array_values($fruits);
 
// 输出新数组
print_r($new_fruits);

Résultat de sortie :

Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
)

Dans l'exemple de code, nous déclarons d'abord un tableau primitif contenant trois éléments : $fruits. Ensuite, nous utilisons la fonction array_values() pour obtenir un nouveau tableau d'index $new_fruits à partir du tableau d'origine. Enfin, nous utilisons la fonction print_r() pour afficher le nouveau tableau.

2. Utilisez la fonction PHP array_combine()

Si vous souhaitez utiliser les valeurs du tableau d'origine comme nom de clé du nouveau tableau d'index, vous pouvez utiliser la fonction array_combine(). Cette fonction nécessite deux paramètres, un comme nom de clé du nouveau tableau d'index et un comme valeur du tableau d'origine.

Exemple de code :

// 原数组
$fruits = array("apple", "banana", "cherry");
 
// 使用array_combine()函数获取新的索引数组
$new_fruits = array_combine(range(1, count($fruits)), array_values($fruits));
 
// 输出新数组
print_r($new_fruits);

Résultat de sortie :

Array
(
    [1] => apple
    [2] => banana
    [3] => cherry
)

Dans cet exemple de code, nous déclarons d'abord un tableau primitif $fruits contenant trois éléments. Nous utilisons ensuite la fonction range() pour générer un nouveau tableau contenant les clés d'index 1, 2 et 3. Enfin, nous utilisons la fonction array_values() pour obtenir les valeurs du tableau d'origine et utilisons la fonction array_combine() pour combiner les deux tableaux dans un nouveau tableau indexé $new_fruits.

3. Utilisez la boucle foreach pour parcourir le tableau

La modification de l'index du tableau peut également être réalisée en parcourant le tableau et en modifiant manuellement l'index de chaque élément.

Exemple de code :

// 原数组
$fruits = array("apple", "banana", "cherry");
 
// 遍历数组并更改每个元素的索引
$new_fruits = array();
$i = 1;
foreach ($fruits as $fruit) {
    $new_fruits[$i] = $fruit;
    $i++;
}
 
// 输出新数组
print_r($new_fruits);

Résultat de sortie :

Array
(
    [1] => apple
    [2] => banana
    [3] => cherry
)

Dans cet exemple de code, nous déclarons un tableau primitif $fruits avec trois éléments. Nous utilisons ensuite une boucle foreach pour parcourir le tableau et changer l'index de chaque élément en 1, 2 et 3 et le stocker dans un nouveau tableau $new_fruits. Enfin, nous utilisons la fonction print_r() pour afficher le nouveau tableau.

2. Changez le nom de clé du tableau

1. Utilisez les fonctions PHP array_keys() et array_values()

Si vous souhaitez changer le nom de clé du tableau, vous pouvez utiliser les fonctions PHP array_keys() et array_values().

Exemple de code :

// 原数组
$student_scores = array("Tom" => 80, "Jerry" => 90, "Mickey" => 95);
 
// 获取新的键名数组和值数组
$new_keys = array_values($student_scores);
$new_values = array_keys($student_scores);
 
// 用新键名数组和值数组组成新数组
$new_student_scores = array_combine($new_keys, $new_values);
 
// 输出新数组
print_r($new_student_scores);

Résultat de sortie :

Array
(
    [80] => Tom
    [90] => Jerry
    [95] => Mickey
)

Dans cet exemple de code, nous déclarons un tableau $student_scores contenant trois paires clé-valeur originales. Ensuite, nous utilisons la fonction array_keys() pour obtenir les clés du tableau d'origine, et la fonction array_values() pour obtenir les valeurs du tableau d'origine. Ensuite, nous utilisons la fonction array_combine() pour recombiner les nouvelles clés et valeurs dans un nouveau tableau $new_student_scores.

2. Utilisez la fonction PHP array_map()

Vous pouvez également utiliser la fonction PHP array_map() pour changer le nom de clé du tableau. La fonction array_map() applique une fonction de rappel à un tableau et renvoie un nouveau tableau contenant toutes les valeurs de retour.

Exemple de code :

// 原数组
$student_scores = array("Tom" => 80, "Jerry" => 90, "Mickey" => 95);
 
// 使用array_map()函数更改键名
$new_student_scores = array_map(function ($score, $name) {
    return [$score, $name];
}, $student_scores, array_keys($student_scores));
 
// 用新键名数组和值数组组成新数组
$new_student_scores = array_combine(array_column($new_student_scores, 0), array_column($new_student_scores, 1));
 
// 输出新数组
print_r($new_student_scores);

Résultat de sortie :

Array
(
    [80] => Tom
    [90] => Jerry
    [95] => Mickey
)

Dans cet exemple de code, nous utilisons la fonction array_map() pour recombiner chaque nom de clé et la valeur correspondante dans un nouveau tableau. Dans la fonction de rappel, nous utilisons [$score, $name] pour renvoyer un nouveau tableau contenant la paire clé-valeur correspondante. Ensuite, nous utilisons la fonction array_combine() pour recombiner les nouvelles clés et valeurs dans un nouveau tableau $new_student_scores.

Résumé

Dans cet article, nous avons présenté comment modifier le nom de clé et l'index d'un tableau en PHP. Vous pouvez utiliser des fonctions intégrées telles que array_values(), array_combine() et array_column(), ou vous pouvez utiliser une boucle foreach pour parcourir et modifier manuellement les clés et les index du tableau. Quelle que soit la méthode que vous choisissez, la modification des noms de clés et des index du tableau peut vous offrir plus de flexibilité et de contrôle pendant le développement.

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