Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

array_udiff_uassoc

Array-Funktionen

    Befehl:
array array_udiff_uassoc ( array $array1 , array $array2 [, array $ ... ], callback $data_compare_func , callback $key_compare_func )


    Parameter-Liste:
NameBeschreibung
array1Die erste Anordnung.
array2Das zweite Array.
value_compare_funcDie Vergleichsfunktion muss einen Integer kleiner als, gleich oder größer als Null zurück, wenn das erste Argument entsprechend als kleiner, gleich oder größer als die zweite.

    Rückgabewerte:
Gibt ein array mit allen Werten aus array1, die nicht in einem der anderen Argumente enthalten.

    Beschreibung:
array_udiff_uassoc() gibt ein Array mit allen Werten von array1, welche in keinem der anderen Argumente enthalten sind, zurück. Beachten Sie, dass Schlüssel anders als von array_diff() und array_udiff() für den Vergleich herangezogen werden. Der Vergleich der Arrayinhalte wird von der benutzerdefinierten Callbackfunktion data_compare_func durchgeführt. In dieser Hinsicht ist das Verhalten anders als jenes von array_diff_assoc(), welche eine eingebaute Vergleichsfunktion verwendet. Der Vergleich der Schlüssel (Indizes) wird von der Funktion key_compare_func durchgeführt. Dieses verhalten Unterschiedet sich von array_udiff_assoc() darin, dass Letztere die Indizes mit einer eingebauten Funktion vergleicht.


    Aktiv in Version:
(PHP 5, PHP 7)

    Hinweis:
Hinweis:

Bitte beachten Sie, dass diese Funktion nur eine Dimension eines n-dimensionalen Arrays. Natürlich können Sie tiefere Dimensionen überprüfen, indem man beispielsweise array_udiff_uassoc ($ array1 [0], $ array2 [0], "data_compare_func", "key_compare_func");.


    Siehe auch:
Ermittelt die Unterschiede zwischen Arrays
 
Berechnet den Unterschied zwischen Arrays mit zusätzlicher Indexprüfung
 
Berechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Funktion vorgenommen wird
 
Ermittelt den Unterschied zwischen Arrays mittels einer Callbackfunktion für den Datenvergleich
 
Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels einer Callbackfunktion
 
Ermittelt die Schnittmenge von Arrays
 
Ermittelt die Schnittmenge von Arrays mit Indexprüfung
 
Ermittelt die Schnittmenge von Arrays, vergleicht Daten mittels einer Callbackfunktion
 
Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten mittels einer Callbackfunktion
 
Ermittelt die Schnittmenge von Arrays mit zusätzlicher Indexprüfung, vergleicht Daten und Schlüssel mittels einer Callbackfunktion
 

array_udiff_uassoc() - Beispiel:


Eingabe:
<?php
class cr {
    private $priv_member;
    function cr($val)
    {
        $this->priv_member = $val;
    }

    function comp_func_cr($a, $b)
    {
        if ($a->priv_member === $b->priv_member) return 0;
        return ($a->priv_member > $b->priv_member)? 1:-1;
    }

    function comp_func_key($a, $b)
    {
        if ($a === $b) return 0;
        return ($a > $b)? 1:-1;
    }
}
$a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1=> new cr(4), 2 => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1=> new cr(4), 2 => new cr(-15),);

$result = array_udiff_uassoc($a, $b, array("cr", "comp_func_cr"), array("cr", "comp_func_key"));
print_r($result);
?>


Ausgabe:
Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)


Beschreibung:
In unserem Beispiel sehen Sie, dass das "1" => new cr(4) Paar in beiden Arrays enthalten ist und daher nicht in der Ausgabe der Funktion auftaucht. Denken Sie daran, dass Sie zwei Callbackfunktionen angeben m�ssen.


F�r den Vergleich wird die benutzerdefinierte Funktion verwendet. Diese muss einen Integer kleiner als, genau gleich oder gr�sser als Null zur�ckgeben, wenn das erste Argument entsprechend als kleiner, gleich oder gr�sser als das Zweite betrachtet wird.
Array-Funktionen