Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

# array_uintersect_uassoc

(PHP 5, PHP 7, PHP 8)

array_uintersect_uassoc — Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen

### Beschreibung

function array_uintersect_uassoc(
array `$array1`,
array `...$arrays`,
callable `$value_compare_func`,
callable `$key_compare_func`
): array

Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels separaten Callbackfunktionen.

### Parameter-Liste

`array1`

  Das erste Array.

`arrays`

  Weitere Arrays.

`value_compare_func`

  Die Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurückgeben, wenn das erste Argument respektive kleiner, gleich oder größer als das zweite ist.

  function callback(mixed `$a`, mixed `$b`): int
  Achtung

  Wenn die Vergleichsfunktion nicht-ganzzahlige Werte zurückgibt, z. B. vom Typ float, wird der Rückgabewert des Callbacks intern in den Typ int umgewandelt. Werte wie `0.99` und `0.1` werden also beide in einen Integer-Wert von `0` umgewandelt, wodurch diese Werte als gleichwertig eingestuft werden.

  Achtung

  Das Sortier-Callback muss alle Werte aus allen Arrays in beliebiger Reihenfolge verarbeiten, unabhängig von der Reihenfolge, in der sie ursprünglich bereitgestellt wurden. Das liegt daran, dass jedes einzelne Array zuerst sortiert wird, bevor es mit anderen Arrays verglichen wird. Zum Beispiel:

  `<?php
  $arrayA = ["string", 1];
  $arrayB = [["value" => 1]];
  // $item1 und $item2 können "string", 1 oder ["value" => 1] sein.
  $compareFunc = static function ($item1, $item2) {
  $value1 = is_string($item1) ? strlen($item1) : (is_array($item1) ? $item1["value"] : $item1);
  $value2 = is_string($item2) ? strlen($item2) : (is_array($item2) ? $item2["value"] : $item2);
  return $value1 <=> $value2;
  };
  ?>`
`key_compare_func`

  Callbackfunktion für den Schlüssel-Vergleich.

### Rückgabewerte

Gibt ein Array mit allen Werten aus `array1` zurück, die ebenfalls in allen anderen Argumenten enthalten sind.

### Beispiele

Beispiel #1 array_uintersect_uassoc() Beispiel

`<?php
$array1 = array("a" => "grün", "b" => "braun", "c" => "blau", "rot");
$array2 = array("a" => "GRÜN", "B" => "braun", "gelb", "rot");
print_r(array_uintersect_uassoc($array1, $array2, "strcasecmp", "strcasecmp"));
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    Array
    (
        [a] => grün
        [b] => braun
    )

### Siehe auch

- array_uintersect() - Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
- array_intersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung
- array_intersect_uassoc() - Ermittelt die Schnittmenge von Arrays mit Indexprüfung; vergleicht Indizes mit einer Callbackfunktion
- array_uintersect_assoc() - Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open