Array_Column est une fonction très utile en PHP qui vous permet d'extraire la valeur d'une colonne spécifiée à partir d'un tableau multidimensionnel. Dans certains cas, des colonnes spécifiques de certains éléments dans un tableau peuvent contenir des valeurs nulles , et comprendre comment PHP gère ces valeurs nulles est importante pour éviter les erreurs inattendues.
Dans cet article, nous discuterons de la façon dont PHP gérera ces valeurs nulles lorsque vous utilisez la fonction Array_Column pour extraire les valeurs dans un tableau, si la valeur d'une colonne est nul , et s'il existe un comportement spécial auquel faire attention.
Tout d'abord, passons en revue brièvement l'utilisation de base de la fonction Array_Column . Il accepte les paramètres suivants:
Array : le tableau multidimensionnel d'entrée.
Nom de colonne ou index de la colonne : Spécifie la colonne à extraire.
Colonne indexée (facultative): Si ce paramètre est fourni, le tableau renvoyé sera reconstruit en fonction de cette colonne indexée.
Voici un exemple simple en utilisant Array_Column :
<?php
$array = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
['id' => 2, 'name' => 'Bob', 'email' => null],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];
// extrait email Liste
$emails = array_column($array, 'email');
print_r($emails);
?>
Sortir:
Array
(
[0] => alice@example.com
[1] =>
[2] => charlie@example.com
)
Dans cet exemple, nous extrassons la colonne de messagerie et constatons que la valeur de messagerie du deuxième élément est nul . PHP le convertit en une chaîne vide ( "" ) lorsqu'il est traité, et ne supprime pas complètement la valeur du tableau.
Lorsque vous extraire une colonne dans Array_Column et que la colonne contient une valeur nulle , PHP convertira automatiquement la valeur nul en une chaîne vide. Il convient de noter qu'il ne s'agit pas de supprimer la valeur, mais de stocker NULL en tant que chaîne vide dans le tableau renvoyé.
Dans l'exemple ci-dessus, la colonne de messagerie du deuxième élément est nul et le tableau de sortie final affiche une chaîne vide. S'il s'agit d'une autre valeur (comme un entier ou un booléen), il sera retourné tel quel.
Remplacez les valeurs nuls par des chaînes : Comme indiqué ci-dessus, PHP remplace les valeurs nulles par des chaînes vides. Cela signifie que si vous travaillez avec des tableaux, vous devrez peut-être prêter une attention particulière à la distinction entre les valeurs nulles et les chaînes vides. Les chaînes vides et NULL sont différents types en PHP, et ils peuvent provoquer des erreurs logiques dans certains cas, en particulier en ce qui concerne les jugements conditionnels.
Traitement des colonnes unvées : Si la colonne que vous essayez d'extraire n'existe pas dans le tableau, Array_Column renverra un tableau vide. Ainsi, lorsque vous utilisez Array_Column , assurez-vous que les colonnes à extraire existent dans la structure du tableau, en évitant de retourner des tableaux vides inutiles.
Dans le cas de la colonne d'index NULL : Si vous fournissez une colonne d'index (le troisième paramètre) et que la valeur de la colonne est NULL , Array_Column l'ignorera et n'inclura pas l'élément dans le résultat final. Par exemple:
<?php
$array = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@example.com'],
['id' => null, 'name' => 'Bob', 'email' => null],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@example.com']
];
// extrait email Liste,selon id Liste作为索引
$emails = array_column($array, 'email', 'id');
print_r($emails);
?>
Sortir:
Array
(
[1] => alice@example.com
[3] => charlie@example.com
)
Dans cet exemple, les éléments avec ID NULL sont ignorés, et seuls les éléments avec ID 1 et 3 sont inclus dans le résultat.
Lorsque vous utilisez la fonction Array_Column , si la colonne extraite contient des valeurs nulles , PHP convertit ces nuls en chaînes vides. Ce comportement peut apporter des considérations spéciales lorsqu'ils traitent des tableaux contenant des valeurs nulles , en particulier lors de la distinction entre les cordes nulles et vides dans les jugements conditionnels. Si vous devez faire face à la différence entre les chaînes nulles et vides, vous pouvez envisager un traitement ultérieur du tableau après avoir extrait les colonnes pour éviter les erreurs logiques.
J'espère que cet article peut vous aider à mieux comprendre le comportement de la fonction Array_Column en PHP lors du traitement des valeurs nulles !