Conseils pour gérer les valeurs vides et nulles lors de la déduplication de tableaux PHP : utilisez array_unique avec array_filter pour filtrer les valeurs vides et nulles. Utilisez array_unique et définissez une fonction de comparaison personnalisée qui traite les valeurs nulles et nulles comme égales. Utilisez array_reduce pour parcourir un tableau et ajouter des éléments s'ils ne contiennent pas de valeurs vides ou nulles.
Conseils pour gérer les valeurs nulles et nulles lors de la déduplication de tableaux PHP
Questions
Lors de la suppression des doublons dans un tableau, vous devez réfléchir à la manière de gérer les valeurs nulles et nulles. Par défaut, les chaînes vides et les valeurs nulles sont traitées comme des valeurs différentes, ce qui peut entraîner des doublons inattendus.
Conseils
Trois techniques courantes pour gérer les valeurs vides et nulles :
array_unique
avec la fonction array_filter
: array_unique
函数搭配array_filter
函数:$arr = ['red', 'blue', 'green', null, '', 'red']; $filtered_arr = array_filter($arr); $result = array_unique($filtered_arr);
array_unique
函数并定义自定义比较函数:$arr = ['red', 'blue', 'green', null, '', 'red']; function cmp($a, $b) { return $a === $b; } $result = array_unique($arr, SORT_REGULAR, 'cmp');
array_reduce
$arr = ['red', 'blue', 'green', null, '', 'red']; $result = array_reduce($arr, function($carry, $item) { if (!in_array($item, $carry) || $item !== '') { $carry[] = $item; } return $carry; }, []);
Utilisez la fonction array_unique
et définissez une fonction de comparaison personnalisée :
$users = [ ['name' => 'John Doe', 'age' => 30], ['name' => 'Jane Doe', 'age' => 25], ['name' => 'John Doe', 'age' => 30], // 重复项 ['name' => null, 'age' => null], // 空值 ]; $unique_users = array_filter($users); $unique_users = array_unique($unique_users); print_r($unique_users);
array_reduce
fonction : Array ( [0] => Array ( [name] => John Doe [age] => 30 ) [1] => Array ( [name] => Jane Doe [age] => 25 ) )
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!