En PHP, un tableau est une structure de données qui stocke plusieurs valeurs. Parfois, nous devons ajouter une colonne à un tableau, par exemple en ajoutant des informations supplémentaires au jeu de résultats après une requête de base de données. Cet article présentera différentes méthodes pour ajouter des colonnes dans des tableaux PHP.
Méthode 1 : Utilisez une boucle pour attribuer de nouvelles colonnes
La première méthode consiste à utiliser une boucle pour parcourir le tableau et ajouter une valeur de colonne à chaque élément du tableau. Par exemple, disons que nous avons le tableau suivant :
$persons = array( array('name' => 'Tom', 'age' => 24), array('name' => 'John', 'age' => 28), array('name' => 'Sarah', 'age' => 23) );
Maintenant, nous voulons ajouter une colonne "sexe" pour chaque personne, avec la valeur automatiquement déterminée en fonction de son nom. Nous pouvons utiliser le code suivant pour le résoudre :
foreach ($persons as &$person) { $name = $person['name']; if (substr($name, -1) == 'a') { $person['gender'] = 'Female'; } else { $person['gender'] = 'Male'; } }
Dans le code ci-dessus, nous utilisons une boucle foreach pour parcourir les éléments du tableau de chaque personne. Dans la boucle, nous ajoutons une colonne « sexe » à l’élément du tableau de chaque personne et lui attribuons une valeur.
Il est à noter que la variable $person est passée par référence, on utilise donc le symbole &. Cela garantit que lorsque l'élément référencé par $person est modifié dans la boucle, les éléments du tableau d'origine sont également modifiés.
Méthode 2 : utilisez la fonction array_map pour ajouter des colonnes
La deuxième méthode consiste à utiliser la fonction array_map intégrée en PHP pour ajouter des colonnes. La fonction array_map applique une fonction à chaque élément d'un tableau et renvoie un nouveau tableau. Par exemple, le code suivant :
$persons = array( array('name' => 'Tom', 'age' => 24), array('name' => 'John', 'age' => 28), array('name' => 'Sarah', 'age' => 23) ); $gender_mapper = function($person) { $name = $person['name']; if (substr($name, -1) == 'a') { $person['gender'] = 'Female'; } else { $person['gender'] = 'Male'; } return $person; }; $new_persons = array_map($gender_mapper, $persons);
Dans le code ci-dessus, nous définissons une fonction anonyme nommée $gender_mapper et utilisons cette fonction pour appeler la fonction array_map. La fonction $gender_mapper accepte un paramètre de tableau $person, ajoute une colonne « sexe » pour chaque personne et renvoie enfin le tableau $person augmenté.
Il est à noter que la fonction array_map ne renvoie pas le tableau d'origine, mais un nouveau tableau. Par conséquent, nous devons stocker les résultats dans une nouvelle variable $new_persons.
Méthode 3 : Utilisez la fonction array_walk pour ajouter des colonnes
La troisième méthode consiste à utiliser la fonction array_walk intégrée en PHP pour ajouter des colonnes. La fonction array_walk parcourt chaque élément du tableau et opère sur l'élément dans la fonction de rappel acceptée, qui peut être modifiée directement sur le tableau d'origine.
$persons = array( array('name' => 'Tom', 'age' => 24), array('name' => 'John', 'age' => 28), array('name' => 'Sarah', 'age' => 23) ); function add_gender(&$person) { $name = $person['name']; if (substr($name, -1) == 'a') { $person['gender'] = 'Female'; } else { $person['gender'] = 'Male'; } } array_walk($persons, 'add_gender');
Dans le code ci-dessus, nous définissons une fonction appelée add_gender et utilisons cette fonction pour appeler la fonction array_walk. La fonction add_gender accepte un paramètre de tableau $person et ajoute une colonne « sexe » pour chaque personne du tableau.
Il est à noter que le paramètre $person dans la fonction add_gender est passé par référence, ce qui signifie également que nous avons modifié les éléments du tableau $person dans la fonction de rappel.
Summary
Ce qui précède présente trois méthodes différentes pour ajouter des colonnes dans des tableaux PHP. La première méthode consiste à utiliser une boucle pour attribuer de nouvelles colonnes, la deuxième méthode consiste à utiliser la fonction array_map et la troisième méthode consiste à utiliser la fonction array_walk. En fonction de vos besoins spécifiques et de l'implémentation du code, vous pouvez choisir une ou plusieurs de ces méthodes.
Il convient de noter que les méthodes ci-dessus sont toutes destinées aux tableaux associatifs. Pour ajouter des colonnes à des tableaux ordinaires, utilisez simplement l'opérateur []. Par exemple :
$arr = array(1, 2, 3); $arr[] = 4; // 数组末尾增加一列
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!