PHP est un langage de script côté serveur populaire principalement utilisé pour le développement Web. En tant que langage généraliste, PHP peut gérer différents types de données, notamment les tableaux. Lorsque vous travaillez avec des tableaux, vous n'avez souvent besoin d'obtenir que certains champs du tableau. Cet article explique comment utiliser PHP pour obtenir plusieurs champs d'un tableau.
La fonction array_column() peut extraire des champs individuels d'un tableau multidimensionnel et les placer dans un nouveau tableau. Cette fonction reçoit trois paramètres :
array_column($input, $column_key, $index_key) ;
Le paramètre $input est le tableau de champs à extraire ; le paramètre $column_key est le nom du champ ou l'index à extraire ; est utilisé Le champ ou l'index à utiliser comme nouvelle clé de tableau. Si le paramètre $index_key est omis, les clés entières sont utilisées à partir de 0.
Regardons un exemple de tableau :
$users = array(
array('id' => 1, 'name' => 'Alice', 'age' => 23), array('id' => 2, 'name' => 'Bob', 'age' => 27), array('id' => 3, 'name' => 'Charlie', 'age' => 31)
);
Pour extraire les noms de tous les utilisateurs, vous pouvez utiliser le code suivant :
$names = array_column($users, 'name ') ;
print_r($names);
Sortie :
Array
(
[0] => Alice [1] => Bob [2] => Charlie
)
Comme vous pouvez le voir, la fonction array_column() renvoie un nouveau tableau contenant uniquement des noms.
Utiliser une boucle foreach pour parcourir un tableau et obtenir les champs requis est également une méthode courante. L'exemple suivant montre comment utiliser une boucle foreach pour convertir le tableau $users d'origine en un nouveau tableau contenant uniquement des noms et des âges.
$new_users = array();
foreach ($users as $user) {
$new_user = array(); $new_user['name'] = $user['name']; $new_user['age'] = $user['age']; $new_users[] = $new_user;
}
print_r($new_users);
Sortie :
Array
(
[0] => Array ( [name] => Alice [age] => 23 ) [1] => Array ( [name] => Bob [age] => 27 ) [2] => Array ( [name] => Charlie [age] => 31 )
)
Dans cet exemple, nous utilisez une boucle foreach pour parcourir le tableau $users d'origine. Pour chaque utilisateur, nous créons un nouveau tableau associatif $new_user et y définissons le nom et l'âge sur les valeurs correspondantes dans le tableau $user. Enfin, nous ajoutons le nouvel utilisateur au tableau $new_users.
Bien que l'utilisation d'une boucle foreach nécessite plus de code, elle offre plus de flexibilité et de contrôle.
La fonction array_map() peut transmettre un ou plusieurs tableaux à une fonction de rappel et renvoyer un nouveau tableau, où chaque élément est l'élément correspondant dans le tableau d'origine traité par le résultat de la fonction de rappel . L'exemple suivant montre comment utiliser la fonction array_map() pour obtenir uniquement le nom et l'âge du tableau $users.
function extract_fields($user) {
return array('name' => $user['name'], 'age' => $user['age']);
}
$new_users = array_map ("extract_fields", $users);
print_r($new_users);
Output:
Array
(
[0] => Array ( [name] => Alice [age] => 23 ) [1] => Array ( [name] => Bob [age] => 27 ) [2] => Array ( [name] => Charlie [age] => 31 )
)
Dans cet exemple, nous définissons une fonction de rappel appelée extract_fields(), qui La fonction prend un Tableau $user et renvoie un nouveau tableau contenant uniquement le nom et l'âge. Nous utilisons ensuite la fonction array_map() pour appliquer extract_fields() à chaque élément du tableau $users et renvoyer le nouveau tableau $new_users.
Bien que l'utilisation de la fonction array_map() nécessite de définir une fonction de rappel distincte, elle offre une plus grande flexibilité et évolutivité. Si vous avez besoin de plus de champs, modifiez simplement la fonction de rappel.
Conclusion
Obtenir plusieurs champs d'un tableau en PHP est une tâche courante et très utile lors du développement d'applications Web. Cet article présente trois méthodes pour extraire les champs d'un tableau, notamment l'utilisation de la fonction array_column(), l'utilisation d'une boucle foreach et l'utilisation de la fonction array_map(). Quelle que soit la méthode que vous choisissez, vous pouvez facilement extraire les champs requis du tableau sans avoir à gérer des éléments redondants ou inutiles.
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!