Position actuelle: Accueil> Derniers articles> Quel est le résultat de retour lorsqu'un tableau vide est passé?

Quel est le résultat de retour lorsqu'un tableau vide est passé?

M66 2025-06-06

La fonction Array_Diff_uassoc dans PHP est utilisée pour comparer deux tableaux ou plus et comparer les noms de clés et les valeurs de clé en fonction des fonctions de comparaison définies par l'utilisateur. Cette fonction est généralement utilisée pour déterminer les parties d'un tableau différent de la valeur clé d'un autre tableau lors du traitement des données. Sa syntaxe est la suivante:

 array_diff_uassoc(array $array1, array $array2, callable $key_compare_func): array
  • $ array1 est le premier tableau.

  • $ array2 est le deuxième tableau utilisé pour la comparaison.

  • $ key_compare_func est une fonction de rappel définie par l'utilisateur pour comparer les clés.

Le comportement de l'array_diff_uassoc lors du passage dans un tableau vide

Lorsqu'un tableau vide est passé sous forme de $ array1 ou $ array2 , la valeur de retour de l'array_diff_uassoc changera en fonction des situations suivantes:

  1. $ array1 est vide, $ array2 n'est pas vide : si le premier tableau est vide, la fonction renvoie directement un tableau vide. Parce qu'un tableau vide n'a pas de clés et de valeurs, il ne peut être comparé à aucun autre tableau.

  2. $ array1 n'est pas vide, $ array2 est vide : si le premier tableau n'est pas vide et que le deuxième tableau est vide, le résultat renvoyé sera une copie du premier tableau. Étant donné que pendant le processus de comparaison, le tableau vide ne fournit aucune paire de valeurs clés pour comparaison, tous les éléments du premier tableau seront considérés comme différents du tableau vide.

  3. Les deux tableaux sont vides : si les deux tableaux sont vides, la valeur de retour est également un tableau vide. Il n'y a pas de différence entre les deux tableaux vides de clés et de valeurs, il n'y a donc pas de différence qui peut être renvoyée.

Exemple de code

Voici un exemple pratique montrant le comportement de Array_Diff_uassoc lorsqu'un tableau vide est passé:

 <?php
// Définir une fonction de rappel qui compare les noms de clés
function compare_keys($a, $b) {
    return $a - $b;
}

// Exemple1: Le premier tableau est vide,Le deuxième tableau est non vide
$array1 = [];
$array2 = [1 => 'apple', 2 => 'banana'];
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
var_dump($result); // Sortir: array()

// Exemple2: Le premier tableau n&#39;est pas vide,Le deuxième tableau est vide
$array1 = [1 => 'apple', 2 => 'banana'];
$array2 = [];
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
var_dump($result); // Sortir: array(1 => 'apple', 2 => 'banana')

// Exemple3: Les deux tableaux sont vides
$array1 = [];
$array2 = [];
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
var_dump($result); // Sortir: array()
?>

résumé

En résumé, lorsque vous passez dans un tableau vide, le comportement de Array_Diff_uassoc est très intuitif: si le premier tableau est vide, la fonction renvoie un tableau vide; Si le deuxième tableau est vide, il renvoie une copie du premier tableau; Si les deux tableaux sont vides, la valeur de retour est également un tableau vide.

Dans les applications pratiques, nous devons souvent prêter attention aux données d'entrée du tableau pour éviter des situations de tableau vides inattendues, de sorte que le résultat renvoyé par l'appel de fonction ne répond pas aux attentes.