Aktueller Standort: Startseite> Neueste Artikel> Was ist das Rückgabeergebnis, wenn ein leeres Array eingegeben wird?

Was ist das Rückgabeergebnis, wenn ein leeres Array eingegeben wird?

M66 2025-06-06

Die Funktion array_diff_uassoc in PHP wird verwendet, um zwei oder mehr Arrays zu vergleichen und Schlüsselnamen und Schlüsselwerte basierend auf benutzerdefinierten Vergleichsfunktionen zu vergleichen. Diese Funktion wird normalerweise verwendet, um die Teile eines Arrays zu bestimmen, die sich beim Verarbeiten von Daten vom Schlüsselwert eines anderen Arrays unterscheiden. Seine Syntax ist wie folgt:

 array_diff_uassoc(array $array1, array $array2, callable $key_compare_func): array
  • $ array1 ist das erste Array.

  • $ array2 ist das zweite Array, das zum Vergleich verwendet wird.

  • $ key_compare_func ist eine benutzerdefinierte Rückruffunktion zum Vergleich von Schlüssel.

Das Verhalten von array_diff_uassoc beim Übergeben in einem leeren Array

Wenn ein leeres Array als $ Array1 oder $ Array2 übergeben wird, ändert sich der Rückgabewert von Array_Diff_Uassoc entsprechend den folgenden Situationen:

  1. $ array1 ist leer, $ array2 ist nicht leer : Wenn das erste Array leer ist, gibt die Funktion direkt ein leeres Array zurück. Da ein leeres Array keine Schlüssel und Werte hat, kann es nicht mit einem anderen Array verglichen werden.

  2. $ array1 ist nicht leer, $ array2 ist leer : Wenn das erste Array nicht leer ist und das zweite Array leer ist, ist das zurückgegebene Ergebnis eine Kopie des ersten Arrays. Da das leere Array während des Vergleichsprozesses keine Schlüsselwertpaare zum Vergleich bereitstellt, werden alle Elemente im ersten Array als das leere Array unterschieden.

  3. Beide Arrays sind leer : Wenn beide Arrays leer sind, ist der Rückgabewert auch ein leeres Array. Es gibt keinen Unterschied zwischen den beiden leeren Schlüsselanlagen von Schlüssel und Werten, daher gibt es keinen Unterschied, der zurückgegeben werden kann.

Beispielcode

Hier ist ein praktisches Beispiel, das das Verhalten von array_diff_uassoc zeigt, wenn ein leeres Array eingeht:

 <?php
// Definieren Sie eine Rückruffunktion, die Schlüsselnamen vergleicht
function compare_keys($a, $b) {
    return $a - $b;
}

// Beispiel1: Das erste Array ist leer,Das zweite Array ist nicht leer
$array1 = [];
$array2 = [1 => 'apple', 2 => 'banana'];
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
var_dump($result); // Ausgabe: array()

// Beispiel2: Das erste Array ist nicht leer,Das zweite Array ist leer
$array1 = [1 => 'apple', 2 => 'banana'];
$array2 = [];
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
var_dump($result); // Ausgabe: array(1 => 'apple', 2 => 'banana')

// Beispiel3: Beide Arrays sind leer
$array1 = [];
$array2 = [];
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
var_dump($result); // Ausgabe: array()
?>

Zusammenfassung

Zusammenfassend ist das Verhalten von Array_Diff_Uassoc sehr intuitiv: Wenn das erste Array leer ist, gibt die Funktion ein leeres Array zurück. Wenn das zweite Array leer ist, gibt es eine Kopie des ersten Arrays zurück. Wenn beide Arrays leer sind, ist der Rückgabewert auch ein leeres Array.

In praktischen Anwendungen müssen wir häufig auf die Eingabedaten des Arrays achten, um unerwartete leere Array -Situationen zu vermeiden, damit das durch den Funktionsaufruf zurückgegebene Ergebnis nicht den Erwartungen entspricht.