Maison  >  Article  >  développement back-end  >  Comment remplacer la valeur k dans un tableau 2D en PHP

Comment remplacer la valeur k dans un tableau 2D en PHP

PHPz
PHPzoriginal
2023-04-19 10:06:53579parcourir

PHP est un langage de programmation largement utilisé. Il est facile à apprendre, flexible, efficace et open source. Il est donc devenu le langage de choix pour de nombreuses entreprises et développeurs. En PHP, les tableaux bidimensionnels sont également l'une des structures de données les plus courantes. Ils peuvent stocker de grandes quantités de données et effectuer des requêtes et des parcours rapides de données. Cet article se concentrera sur la façon de remplacer la valeur k dans un tableau à deux dimensions en PHP.

Tableau bidimensionnel

En PHP, le tableau est un type de données très important. Les tableaux peuvent stocker plusieurs valeurs sous un seul nom de variable, et ces valeurs peuvent être de différents types de données, tels que des chaînes, des entiers, des objets, etc.

Les tableaux en PHP sont divisés en tableaux unidimensionnels et tableaux multidimensionnels. Parmi eux, les tableaux multidimensionnels sont divisés en tableaux à deux dimensions, tableaux à trois dimensions, tableaux à quatre dimensions, etc. Un tableau bidimensionnel fait référence à un tableau contenant plusieurs tableaux unidimensionnels.

L'exemple de code pour définir un tableau bidimensionnel est le suivant :

$students = array(
   array("name"=>"张三", "age"=>18, "score"=>85),
   array("name"=>"李四", "age"=>19, "score"=>90),
   array("name"=>"王五", "age"=>20, "score"=>75)
);

Le code ci-dessus définit un tableau bidimensionnel nommé $students, qui contient trois tableaux unidimensionnels. Chaque tableau unidimensionnel contient trois éléments représentant le nom, l'âge et la note de l'élève.

Remplacer la valeur k dans le tableau bidimensionnel

Parfois, nous devons remplacer certaines valeurs k dans le tableau bidimensionnel. Pour atteindre cet objectif, nous pouvons utiliser les fonctions array_map et array_column fournies en PHP. Les étapes spécifiques sont les suivantes :

La première étape consiste à utiliser la fonction array_column pour obtenir une certaine colonne du tableau d'origine et générer un nouveau tableau unidimensionnel. La valeur k correspondant à cette colonne est la valeur k que nous souhaitons remplacer.

L'exemple de code est le suivant :

$key_array = array_column($students, 'name');

Ce code extrait la valeur de clé de nom de chaque tableau unidimensionnel du tableau $students pour former un nouveau tableau unidimensionnel $key_array.

La deuxième étape consiste à utiliser la fonction array_map pour parcourir le nouveau tableau unidimensionnel et remplacer la valeur de chaque élément via la fonction de rappel. Dans la fonction de rappel, utilisez la valeur de chaque élément comme nouvelle valeur k, recherchez le tableau unidimensionnel correspondant à cette valeur k dans le tableau bidimensionnel d'origine et remplacez sa valeur k par la nouvelle valeur k.

L'exemple de code est le suivant :

$new_key_array = array_map(function($val) use ($students) {
      foreach($students as &$student) {
         if($student['name'] == $val) {
            $student['new_name'] = $student['name'];
            unset($student['name']);
            return $student;
         }
      }  
}, $key_array);

Ce code parcourt le tableau $key_array. Pour chaque élément $val, il parcourt le tableau d'origine $students à travers une boucle foreach, trouve le tableau unidimensionnel correspondant à $val dans le tableau d'origine et ajoute que sa valeur de clé de nom est remplacée par une nouvelle valeur de clé new_name. Enfin, supprimez la clé de nom d'origine dans le tableau unidimensionnel et renvoyez le tableau unidimensionnel modifié.

La troisième étape consiste à vérifier la nouvelle baie pour confirmer si l'opération de remplacement prend effet.

Le code final est le suivant :

$students = array(
  array("name"=>"张三", "age"=>18, "score"=>85),
  array("name"=>"李四", "age"=>19, "score"=>90),
  array("name"=>"王五", "age"=>20, "score"=>75)
);

$key_array = array_column($students, 'name');

$new_key_array = array_map(function($val) use ($students) {
  foreach($students as &$student) {
     if($student['name'] == $val) {
        $student['new_name'] = $student['name'];
        unset($student['name']);
        return $student;
     }
  }  
}, $key_array);

print_r($students);

En exécutant le code ci-dessus, nous pouvons obtenir le résultat suivant :

Array
(
    [0] => Array
        (
            [age] => 18
            [score] => 85
            [new_name] => 张三
        )

    [1] => Array
        (
            [age] => 19
            [score] => 90
            [new_name] => 李四
        )

    [2] => Array
        (
            [age] => 20
            [score] => 75
            [new_name] => 王五
        )
)

Comme le montre le résultat, nous avons réussi à remplacer la clé de nom d'origine par une nouvelle clé new_name.

Résumé

En PHP, remplacer la valeur k dans un tableau à deux dimensions est une opération relativement courante. En utilisant les fonctions array_map et array_column, nous pouvons facilement implémenter cette opération. Dans le développement réel, nous devons choisir la méthode la plus appropriée pour mettre en œuvre cette opération en fonction de la situation spécifique afin d'améliorer l'efficacité du développement et la qualité du code.

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