array_intersect_ukey

array_intersect_ukey - Vypočítá shodné prvky polí s dodatečnou kontrolou klíčů, která se provádi pomocí funkci definované uživatelem.

Syntaxe:

array array_intersect_ukey ( array array1, array array2 [, array ..., callback key_compare_func] )

Funkce array_intersect_ukey() vrací pole, skládající se z hodnot pole array_1, odfiltrovaných podle klíčů, které jsou ve všech jiných polích uvedených jako dalši parametry. Pro porovnání se používa funkce definová uživatelem. Musí vracet celé číslo větší, menší nebo rovné nule, jestli první parametr je větší, menší nebo rovný druhému.

Příklad použíti:

<?php
function key_compare_func($key1$key2)
{
    if (
$key1 == $key2)
        return 
0;
    else if (
$key1 $key2)
        return 
1;
    else
        return -
1;
}

$array1 = array('blue'  => 1'red'  => 2'green'  => 3'purple' => 4);
$array2 = array('green' => 5'blue' => 6'yellow' => 7'cyan'   => 8);

var_dump(array_intersect_ukey($array1$array2'key_compare_func'));
?>

Výsledek je následující:

array(2) {

  ["blue"]=>

  int(1)

  ["green"]=>

  int(3)

})

Ve výsledku vidíme jenom klíče blue a green jsou v obou polích, proto se vracejí. Taktéž se podívejte na to, že hodnoty odpovidající klíčům blue a green jsou rozdílné v původních polích, to právě proto, že se porovnávají jenom klíče.

Hodnoty key => value jsou stejné jenom, když (string) $elem1 === (string) $elem2, tzn. jsou identické.

Viz také: