PHP-Logo
Druckansicht von http://www.php-homepage.de/manual/function.array-diff-uassoc.php

PHP-Logo
[ Main Menue ]
Homepage
Downloads
Artikel
Scripts
Forum
PHP-Manual
Links
News
Freelancer
Bücher
RuDolF
Suche
Misc
Über diese Seite
Kontakt
Wunschzettel
MyGuestbook
*
[ Suche ]
*
[ Manual ]
Array Funktionen
*

Follow on Twitter - @phphomepage

RSS Feed blogoscoop
 array_diff_key  Letztes Update:
18.05.2012
array_diff_ukey 

array_diff_uassoc

(PHP 5)

array_diff_uassocBerechnet den Unterschied von Arrays mit zusätzlicher Indexprüfung, welche durch eine benutzerdefinierte Funktion vorgenommen wird

Beschreibung

array array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callback $key_compare_func )

array_diff_uassoc() gibt ein array zurück, welches alle Werte aus array1 enthält, die in keinem der anderen Argumente enthalten sind. Beachten Sie, dass die Schlüssel anders als von array_diff() in den Vergleich einbezogen werden.

Dieser Vergleich wird von einer benutzerdefinierten Callbackfunktion durchgeführt. Diese muss einen Integer kleiner als, genau gleich oder größer als Null zurückgeben, wenn das erste Argument entsprechend als kleiner, gleich oder größer als das Zweite betrachtet wird. Dies ist anders als array_diff_assoc(), in der eine eingebaute Funktion für den Vergleich der Indizes verwendet wird.

Beispiel #1 array_diff_uassoc() Beispiel

<?php
function key_compare_func($a$b
{
    if (
$a === $b) {
        return 
0;
    }
    return (
$a $b)? 1:-1;
}

$array1 = array("a" => "gruen""b" => "braun""c" => "blau""rot");
$array2 = array("a" => "gruen""gelb""rot");
$result array_diff_uassoc($array1$array2"key_compare_func");
print_r($result);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Array
(
    [b] => braun
    [c] => blau
    [0] => rot
)

In unserem obigen Beispiel sieht man dass das "a" => "gruen" Paar in beiden Arrays enthalten ist und daher nicht in der Ausgabe der Funktion auftaucht. Andererseits ist das Paar 0 => "rot" in der Ausgabe, weil "red" im zweiten Argument einen Schlüsselwert von 1 enthält.

Die Gleichheit von zwei Indizes wird von einer benutzerdefinierten Callbackfunktion überprüft.

Hinweis: Bitte beachten Sie, dass diese Funktion nur eine Dimension eines n-dimensionalen Arrays prüft. Natürlich kann man tiefere Dimensionen überprüfen, indem man zum Beispiel array_diff_uassoc($array1[0], $array2[0], "key_compare_func"); verwendet.

Siehe auch array_diff(), array_diff_assoc(), array_udiff(), array_udiff_assoc(), array_udiff_uassoc(), array_intersect(), array_intersect_assoc(), array_uintersect(), array_uintersect_assoc() und array_uintersect_uassoc().

© Copyright 1999 - 2011 by Mark Kronsbein | Impressum | NutzungsbedingungenWeiterempfehlen | Seitenanfang
0.0051