Forum und email

array_diff_uassoc

(PHP 5)

array_diff_uassoc — Vypočíta rozdiel polí s dodatočnou kontrolou indexov, ktorú vykoná užívateľom určená callback funkcia.

Popis

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

array_diff_uassoc() vracia array obsahujúce všetky hodnoty z array1 , ktoré sa nenachádzajú v žiadnom inom argumente. Upozorňujeme na to, že kľúče sa používajú v porovnávaní, na rozdiel od array_diff(). Toto porovnanie sa urobí pomocou užívateľom určenej callback funkcie. Musí vrátiť integer menší než, rovný alebo väčší než nula, ak je prvý argument považovaný v poradí menší než, rovný, alebo väčší než druhý. V tomto je odlišnošť s funkciou array_diff_assoc(), kde je pre porvonávanie indexov použitá vnútorná funkcia.

Example#1 array_diff_uassoc() príklad

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

$array1 = array("a" => "zelena""b" => "hneda""c" => "modra""cervena");
$array2 = array("a" => "zelena""zlta""cervena");
$result array_diff_uassoc($array1$array2"key_compare_func");
?>

Výsledok je:

Array
(
    [b] => hneda
    [c] => modra
    [0] => cervena
)

V našom príklade hore vidíte, že pár "a" => "zelena" sa nachádza v oboch poliach a teda nie je vo výstupe z funkcie. function. Avšal pár 0 => "cervena" vo výstupe je, pretože druhý argument "cervena" má kľúč, ktorý je 1.

Rovnosť 2 indexov sa kontroluje užívateľom určenou callback funkciou.

Note: Upozor�