Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

array_udiff_assoc

Array-Funktionen

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


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

    Rückgabewerte:
array_udiff_assoc() gibt ein array mit allen Werten aus array1, die nicht in einem der anderen Argumente enthalten sind. Beachten Sie, dass die Tasten in den Vergleich anders als array_diff() und verwendet array_udiff(). Der Vergleich der Daten-Arrays unter Verwendung eines vom Benutzer bereitgestellten Callback ausgeführt. In diesem Aspekt gegenüber dem Verhalten der array_diff_assoc() das Verhalten ist was nutzt interne Funktion zum Vergleich.

    Beschreibung:
array_udiff_assoc() 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 einer benutzerdefinierten Callbackfunktion durchgeführt. In dieser Hinsicht ist das Verhalten anders als jenes von array_diff_assoc(), welche eine eingebaute Vergleichsfunktion verwendet.


    Aktiv in Version:
(PHP 5, PHP 7)

    Hinweis:
Hinweis:

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


    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_assoc() - 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;
    }
}

$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_assoc($a, $b, array("cr", "comp_func_cr"));
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.


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