Heim  >  Artikel  >  Backend-Entwicklung  >  PHP gibt das Differenzarray zweier Arrays zurück

PHP gibt das Differenzarray zweier Arrays zurück

王林
王林nach vorne
2024-03-21 09:32:06784Durchsuche

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

sind.

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的新数组,因为这些元素不在array2Im 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);

    Parameter:
  • 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

enthält.
  • array_diff()array_udiff()Achtung:
  • Die Funktionen
  • und
  • vergleichen nur Elemente im Array mit demselben array_keys()array_values()Index
  • .
🎜Wenn zwei Arrays unterschiedliche Schlüssel haben, werden diese Schlüssel ignoriert und nur Elemente mit demselben Schlüssel verglichen. 🎜 🎜Wir können die Funktion 🎜 verwenden, um eine Liste aller Schlüssel oder Werte eines Arrays abzurufen, damit wir Arrays anhand verschiedener Kriterien vergleichen können. 🎜 🎜

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen