Kursrekommendationer:

PHP array_uintersect() funktionen

Exempel

<?php
function myfunction($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
Jämför nyckelvärden i två arrayer (använd användardefinierade funktioner för jämförelse) och returnera skärningspunkten:
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$result=$a2=array("a"=>"blue","b"=>"black","e"=>"blue");
print_r($result);
?>

运行实例

array_uintersect($a1,$a2,"myfunction");

Definition och användning

array_uintersect() funkttionen används för att jämföra nyckelvärden i två (eller fler) arrayer och returnera skärningspunkten.Kommentar:

Funktionen jämför två (eller fler) arrayers nyckelvärden och returnerar en skärningspunktsarray, som inkluderar alla element i de jämförda arrayerna (array1)中,同时也在任何其他参数数组(array2array3 等等)中的键值。

Syntaks

array_uintersect(array1,array2,array3...myfunction)
Parametrar Beskrivning
array1 Obligatorisk. Den första arrayen som jämförs med andra arrayer.
array2 Obligatorisk. Arrayen som jämförs med den första arrayen.
array3,... Valfri. Andra arrayer som jämförs med den första arrayen.
myfunction

Obligatorisk. Strängvärde, definierar den anropbara jämförelsefunktionen.

Om den första parametern är mindre än eller lika med eller större än den andra parametern, måste jämförelsefunktionen returnera ett heltal mindre än eller lika med eller större än 0.

Förklaring

Använd användardefinierade callback-funktioner myfunction Beräkna skärningspunkten mellan två eller flera arrayer (dvs array1 Innehåller alla element som finns i samtliga andra arrayer), och returnerar resultatarrayen.

Endast jämföra nyckelvärden, inte nyckelnamn, t.ex. "a"=>1 och "b"=>1 betraktas som lika.

myfunction 参数指定的函数用于比较元素是否相等。myfunction 函数带有两个将进行比较的参数。如果第一个参数小于第二个参数,则函数返回一个负数,如果两个参数相等,则要返回 0,如果第一个参数大于第二个,则返回一个正数。

返回的数组中键名保持不变。

技术细节

返回值:

返回一个数组,包含所有在 array1 中同时也在所有其他数组中的单位。

返回一个交集数组,该数组包括了所有在被比较的数组(array1)中,同时也在任何其他参数数组(array2array3 等等)中的键值。

PHP 版本: 5+

更多实例

例子 1

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

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

运行实例