Der PHP-Editor Xigua zeigt Ihnen, wie Sie mit PHP das Differenzarray zweier Arrays zurückgeben. Ein Differenzarray bezieht sich auf ein neues Array, das durch die Übernahme von Elementen aus dem ersten Array gebildet wird, die sich nicht im zweiten Array befinden. Diese Funktionalität kann einfach durch die Verwendung der Funktion array_diff() erreicht werden. Übergeben Sie einfach zwei Arrays als Argumente und die Funktion gibt ein neues Array zurück, das die Elemente der Differenzmenge enthält. Diese Methode ist sehr praktisch und schnell und eignet sich zur Lösung verschiedener Array-Betriebsprobleme.
So verwenden Sie PHP, um das Differenzarray zweier Arrays zurückzugeben
In php können wir die Differenz zweier Arrays mithilfe der Funktion array_diff()
zurückgeben. Diese Funktion akzeptiert zwei Arrays als Argumente und gibt ein neues Array zurück, das alle Elemente im ersten Array enthält, die nicht im zweiten Array enthalten sind.
Grammatik:
array_diff(array1, array2);
Parameter:
array1
: Das Array, aus dem Elemente entfernt werden sollen. array2
: Das Array, das das zu löschende Element enthält. Rückgabewert:
Ein neues Array, das alle Elemente in array1
中所有不在array2
enthält, die nicht in
Beispiel:
$array1 = [1, 2, 3, 4, 5]; $array2 = [2, 4]; $diff = array_diff($array1, $array2); print_r($diff); // 输出:Array ( [0] => 1 [1] => 3 [2] => 5 )
array_diff()
函数返回了一个包含array1
中的元素1、3和5的新数组,因为这些元素不在array2
Im obigen Beispiel gibt die Funktion ein neues Array zurück, das die Elemente 1, 3 und 5 in enthält, da diese Elemente nicht in enthalten sind.
Benutzerdefinierte Vergleichsfunktion: array_udiff()
Wir können die Funktion verwenden, um die Vergleichsfunktion anzupassen, um zu bestimmen, welche Elemente aus dem ersten Array entfernt werden sollen.
Grammatik:
array_udiff(array1, array2, callback);
array1
array2
: Das Array, aus dem Elemente entfernt werden sollen. callback
: Das Array, das das zu löschende Element enthält. : Eine benutzerdefinierte Vergleichsfunktion, die zwei Elemente als Argumente akzeptiert und -1 (wenn das erste Element entfernt werden soll), 0 (wenn die beiden Elemente gleich sind) oder 1 (wenn das zweite Element gelöscht werden soll) zurückgibt.
Beispiel: array_udiff()
函数来比较数组中对象的name
属性。它返回了一个包含array1
中所有name
属性与array2
$array1 = [ ["name" => "John", "age" => 30], ["name" => "Mary", "age" => 25], ["name" => "Bob", "age" => 40], ]; $array2 = [ ["name" => "Mary", "age" => 25], ]; $diff = array_udiff($array1, $array2, function ($a, $b) { return strcmp($a["name"], $b["name"]); }); print_r($diff); // 输出:Array ( [0] => Array ( [name] => John [age] => 30 ) [1] => Array ( [name] => Bob [age] => 40 ) )
Im obigen Beispiel verwenden wir die Funktion , um die Eigenschaft name
der Objekte im Array zu vergleichen. Es wird ein neues Array zurückgegeben, das alle name
-Eigenschaften in und die verschiedenen Objekte in
array_diff()
和array_udiff()
Achtung:
array_keys()
或array_values()
Index Das obige ist der detaillierte Inhalt vonPHP gibt das Differenzarray zweier Arrays zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!