Dans le développement Web, la génération de listes déroulantes est une tâche courante et de base, en particulier lors du traitement des données du formulaire. La façon traditionnelle consiste à définir manuellement le code HTML pour générer chaque balise <opoption> , mais si le volume de données est important et que la source de données est extraite de la base de données, la maintenance manuelle sera très encombrante. Heureusement, PHP fournit des fonctions pratiques pour simplifier ce processus, et la fonction Array_Column est un outil très pratique.
La fonction Array_Column est utilisée pour extraire la valeur d'une colonne à partir d'un tableau multidimensionnel. Il accepte trois paramètres:
array_column(array $array, mixed $column_key, mixed $index_key = null): array
$ Array : tableau multidimensionnel d'origine.
$ Column_Key : Spécifie le nom de la colonne à extraire.
$ index_key : paramètre facultatif, spécifiant la touche à utiliser comme nouveau tableau.
Dans le développement réel, Array_Column peut nous aider à extraire les colonnes requises des résultats de la requête, économisant de nombreuses opérations manuelles, améliorant ainsi l'efficacité de développement.
Supposons que vous obteniez un tableau contenant des informations utilisateur de la base de données, et que les informations de chaque utilisateur ont un champ ID et de nom . Vous souhaitez générer une liste déroulante pour les données de ces utilisateurs, avec ID comme valeur et nom comme texte d'affichage. Tout d'abord, nous pouvons utiliser Array_Column pour extraire ces deux colonnes de données.
// Supposons qu'il s'agit des données utilisateur obtenues à partir de la base de données
$users = [
['id' => 1, 'name' => 'Zhang San'],
['id' => 2, 'name' => 'Li si'],
['id' => 3, 'name' => 'Wang wu'],
];
// utiliser array_column extrait 'id' et 'name'
$ids = array_column($users, 'id');
$names = array_column($users, 'name');
// Générer la liste déroulante
echo '<select name="user_id">';
foreach ($ids as $index => $id) {
echo '<option value="' . $id . '">' . $names[$index] . '</option>';
}
echo '</select>';
L'utilisation de Array_Column peut éviter de traverser manuellement le tableau de données et d'extraire les valeurs requises, en particulier lorsqu'il s'agit de plus grands ensembles de données. Cette méthode est non seulement concise, mais aussi meilleure que les méthodes de traitement manuel traditionnelles en performance.
De plus, si vous souhaitez éviter d'accéder aux valeurs via $ names [$ index] , vous pouvez utiliser le troisième paramètre index_key de Array_Column , définissant l'ID sur la clé. De cette façon, le nom correspondant est accessible directement via l'ID pour rendre le code plus clair.
// utiliser array_column Obtenez le tableau associatif,id Comme clé,name est une valeur
$user_list = array_column($users, 'name', 'id');
// Générer la liste déroulante
echo '<select name="user_id">';
foreach ($user_list as $id => $name) {
echo '<option value="' . $id . '">' . $name . '</option>';
}
echo '</select>';
L'avantage de cette approche est que les paires de tableaux clés sont plus intuitives et que la lisibilité du code est améliorée, en particulier lorsqu'il y a beaucoup de données à traiter.
En utilisant Array_Column , nous pouvons facilement extraire les données de colonne requises d'un tableau multidimensionnel et générer rapidement une liste déroulante. Par rapport à la méthode manuelle traditionnelle, Array_Column peut nous aider à réduire la quantité de code et à améliorer l'efficacité du développement. Dans le développement réel, une telle optimisation permet non seulement de gagner du temps, mais réduit également la probabilité d'erreurs, ce qui rend notre code plus concis et plus facile à maintenir.