Dans PHP, la fonction array_diff_key () est utilisée pour calculer les différences de clés entre deux tableaux ou plus. Il compare les clés de deux tableaux et renvoie les clés et leurs valeurs dans le premier tableau mais pas dans les autres tableaux.
Normalement, nous passons deux tableaux à array_diff_key () , qui se compare sur la clé. Mais, si la clé du tableau est nul , comment cette fonction le gérera-t-il? Ensuite, nous explorerons ce problème via des exemples de code.
Tout d'abord, passons en revue la syntaxe de base de la fonction array_diff_key () :
array_diff_key(array $array1, array $array2, array ...$arrays): array
$ array1 est le premier tableau, et la fonction recherchera toutes les clés qui ne sont pas dans d'autres tableaux de ce tableau.
$ array2, ... $ Les tableaux sont un ou plusieurs tableaux, qui sont utilisés par array_diff_key () pour comparer les valeurs clés.
Jetons un coup d'œil à la façon dont Array_Diff_Key () se comportera lorsque la clé du tableau est nul . Considérez l'exemple suivant:
<?php
$array1 = [
null => 'value1',
'key2' => 'value2',
'key3' => 'value3'
];
$array2 = [
null => 'value4',
'key2' => 'value5'
];
$result = array_diff_key($array1, $array2);
print_r($result);
?>
Dans cet exemple, nous avons deux tableaux $ array1 et $ array2 . Parmi eux, les deux tableaux contiennent un élément avec une clé nul . Après avoir exécuté le code, le résultat est le suivant:
Array
(
[key3] => value3
)
Comme vous pouvez le voir dans le résultat, array_diff_key () ne supprime pas l'élément avec la clé null . En effet, PHP gérera NULL comme une clé unique. Par conséquent, bien que les deux tableaux contiennent des éléments avec des clés nuls , ils sont toujours considérés comme différents.
Pour résumer, array_diff_key () traite Null comme une clé normale et ne l'ignore pas automatiquement. S'il y a des éléments avec des clés nulles dans les tableaux comparés, ils sont traités comme les mêmes clés et n'apparaissent donc pas dans le tableau de différence. Si une clé nul dans un tableau n'existe pas dans un autre tableau, elle sera traitée comme une clé différente.
Dans le développement réel, il est rare de voir la clé NULL , mais dans certains scénarios spéciaux, NULL peut être utilisé comme clé par défaut ou clé d'espace réservé. Si vous rencontrez cela dans votre code, il est très important de comprendre le comportement de Array_Diff_Key () , surtout lors du traitement des données, pour éviter les résultats inattendus des mauvaises comparaisons de clés de tableau.
Si votre code implique des URL et que vous devez remplacer tous les noms de domaine par m66.net , voici un exemple de code simple:
<?php
$url = "https://www.example.com/path/to/resource";
$new_url = preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
echo $new_url;
?>
Ce code remplace la partie du nom de domaine de l'URL par m66.net pour vous assurer que votre nom de domaine est toujours cohérent.
Grâce à cet article, vous devriez avoir une compréhension plus claire de la façon dont la fonction array_diff_key () gère la situation où la clé est nul , et vous avez maîtrisé comment remplacer le nom de domaine URL dans le code.
J'espère que cet article vous aide! Si vous avez plus de questions, n'hésitez pas à poser.