PHP array_intersect_ukey() 函数

实例

比较两个数组的键名(使用用户自定义函数比较键名),并返回交集:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");
$result=array_intersect_ukey($a1,$a2,"myfunction");
print_r($result);
?>

Laufende Beispiele

定义和用法

array_intersect_ukey() 函数用于比较两个(或更多个)数组的键名,并返回交集。

注释:该函数使用用户自定义函数比较键名!

该函数比较两个(或更多个)数组的键名,并返回交集数组,该数组包括了所有在被比较的数组(array1) sowie in jedem anderen Parameterarray (array2 oder array3 und anderen (

说明

array_intersect_ukey() 函数用回调函数比较键名来计算数组的交集。

array_intersect_ukey() 返回一个数组,该数组包含了所有出现在 array1 中并同时出现在所有其他参数数组中的键名的值。

这个比较是通过用户提供的回调函数来进行的。该函数带有两个参数,即两个要进行对比的键名。如果第一个参数小于第二个参数,则函数要返回一个负数,如果两个参数相等,则要返回 0,如果第一个参数大于第二个参数,则返回一个正数。

语法

array_intersect_ukey(array1,array2,array3...myfunction)
Parameter Beschreibung
array1 Erforderlich. Erster Array, der mit anderen Arrays verglichen wird.
array2 Erforderlich. Array, das mit dem ersten Array verglichen wird.
array3,... Optional. Andere Arrays, die mit dem ersten Array verglichen werden sollen.
myfunction Erforderlich. String, der die zu aufrufende Vergleichsfunktion definiert. Wenn der erste Parameter kleiner, gleich oder größer als der zweite Parameter ist, muss die Vergleichsfunktion einen kleineren, gleichgroßen oder größeren als 0 sein. Integer zurückgeben.

Technische Details

Rückgabewert: Gibt ein Schnittmenge-Array zurück, das alle in den verglichenen Arrays enthaltenen Elemente umfasst (array1) sowie in jedem anderen Parameterarray (array2 oder array3 und anderen (
PHP-Version: 5.1.0+

Mehr Beispiele

Beispiel 1

Vergleichen Sie die Schlüsselnamen von drei Arrays (verwenden Sie eine benutzerdefinierte Funktion zum Vergleichen der Schlüsselnamen) und geben Sie das Schnittmenge zurück:

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"black","b"=>"yellow","d"=>"brown");
$a3=array("e"=>"purple","f"=>"white","a"=>"gold");
$result=array_intersect_ukey($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Laufende Beispiele