Filtrage de tableaux à l'aide de array_diff_assoc()
En PHP, array_diff_assoc() est une fonction utile pour comparer des tableaux et identifier les différences. Cependant, les utilisateurs peuvent rencontrer un problème où la sortie résultante inclut des éléments communs au lieu des éléments uniques attendus.
Pour comprendre cela, examinons de plus près le comportement de array_diff_assoc(). Cette fonction effectue une comparaison d'égalité stricte entre les paires clé-valeur. Cela signifie que la représentation sous forme de chaîne des éléments doit être identique pour la comparaison.
Considérez l'exemple suivant :
<code class="php">$array1 = [ [12 => 'new q sets'], [11 => 'common set'] ]; $array2 = [ [11 => 'common set'] ];</code>
Lorsque array_diff_assoc() est appliqué à ces tableaux, il compare les éléments suivants :
Array ([0] => "Array" [1] => "Array") Array ([0] => "Array")
Étant donné que les paires clé-valeur ne sont pas identiques, la comparaison renvoie l'élément [1] du premier tableau ([1] => Array( [11] => common set )). Ce n'est pas le résultat souhaité, car il inclut l'élément commun.
Pour résoudre ce problème, les utilisateurs doivent s'assurer que les représentations sous forme de chaîne des paires clé-valeur sont identiques dans les deux tableaux. Ceci peut être réalisé en utilisant un formatage ou des types de données cohérents. De plus, la conversion de valeurs en chaînes (par exemple, (string) $element) peut aider à garantir une comparaison d'égalité stricte.
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!