English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 基础教程

PHP 高级教程

PHP & MySQL

PHP 参考手册

PHP array_diff_uassoc() 函数用法及示例

PHP Array Funktion Handbuch

定义和用法

array_diff_uassoc()函数比较两个(或多个)数组的键和值,并返回一个包含array1中的条目的数组,这些条目在任何其他具有相同值的数组中都不存在。

此函数不同于array_diff(),因为array_diff()比较值,而此函数比较其他数组中的键及其值。

此函数与array_diff_assoc()不同,因为array_diff_assoc()使用内部算法比较键及其值,而此函数使用用户定义的函数比较键及其值。

语法

array_diff_uassoc( $array1, $array2 , $array3..., callback $key_compare_func] );

Parameter

NummerParameter und Beschreibung
1

array1(Notwendig)

Zu vergleichendes Array

2

array2(Notwendig)

Dies ist das Array, das mit dem ersten Array verglichen werden soll

3

array3(Optional)

Mit dem ersten Array verglichene Array

4

key_compare_func(Notwendig)

Wenn die Vergleichsfunktion kleiner, gleich oder größer als der zweite Parameter zurückzugeben ist, muss die Vergleichsfunktion entsprechend eine negative, Null oder positive Ganzzahl zurückgeben.

Rückgabewert

Diese Funktion gibt ein Array zurück, das enthält array1alle Einträge enthalten, aber nicht in anderen Arrays vorhanden.

PHP-Version

Diese Funktion wurde ursprünglich in der PHP-Version5.0.0 eingeführt wird.

Online Beispiel

Probieren Sie den folgenden Beispiel. Hier, wenn $input1Schlüssel entsprechen jeder anderen Eingabearray, gibt die Schlüsselvergleichsfunktion 0 zurück; Wenn größer, wird zurückgegeben1; Wenn kleiner, wird zurückgegeben -1。

Wenn der definierte Vergleichsfunktion für die Schlüssel verwendet wird, sind die Schlüssel "a" tatsächlich in beiden Arrays vorhanden, daher erscheint er nicht in der Ausgabe. Der nächste Schlüssel "b" und "c" sind nicht im zweiten Array vorhanden, daher werden sie in die Ausgabe aufgenommen. Der andere 0 => "red" erscheint in der Ausgabe, weil der Schlüssel in dem zweiten Parameter "red" ist1:

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
   $input2 = array("a" => "green", "yellow", "red");
   $result = array_diff_uassoc($input1, $input2, "key_compare_func");
   print_r($result);
?>
Testen sehen‹/›

Ausgabeergebnis:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

Online Beispiel

Probieren Sie den folgenden Beispiel. In diesem Fall wird "red" nicht in der Ausgabe erscheinen, weil beide Schlüssel jetzt 0 sind.

<?php
   function key_compare_func($a, $b) {
      if ($a === $b) {
         return 0;
      }
      return ($a > $b)? 1: -1;
   }
   $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
   $input2 = array("a" => "green", "c" => "yellow", "red");
   $result = array_diff_uassoc($input1, $input2, "key_compare_func");
   print_r($result);
?>
Testen sehen‹/›

Ausgabeergebnis:

Array
(
    [b] => brown
    [c] => blue
)

PHP Array Funktion Handbuch