Funcția array_udiff compară valorile unui tablou cu valorile altei matrice sau alte matrice și returnează diferența dintre ele.
Utilizează o funcție definită de utilizator pentru a compara valorile. Returnează o matrice care conține valorile care sunt prezente în prima matrice, dar nu și în restul matricelor.
Care este sintaxa funcției array_udiff în PHP?
array_intersect_ukey(array1, array2, array3, ..., myfunction)
parametrii | Detalii |
---|---|
matrice1 | Prima matrice care se compară cu alte matrice - este necesară |
matrice2 | A doua matrice pentru a face o comparație cu - este necesar |
matrice3, ... | Alte matrice cu care să comparați – opțional |
funcţie definită de utilizator | Funcție definită de utilizator pentru a compara cheile matricelor. Funcția trebuie să returneze un număr întreg <, = sau > decât 0 dacă primul argument este <, + sau > decât al doilea argument. |
Exemple ale funcției array_udiff
Exemplu 1. Luați două matrice și returnați diferența folosind o funcție definită de utilizator.
<?php
function my_function($x,$y)
{
if ($x==$y)
{
return 0;
}
return ($x>$y)?1:-1;
}
$array_1=array("a"=>"R","b"=>"G","c"=>"B");
$array_2=array("a"=>"B","b"=>"Bl","e"=>"B");
$result=array_udiff($a1,$a2,"my_function");
print_r($result);
?>
Exemplu 2. Luați trei matrice și returnați diferența folosind o funcție definită de utilizator.
<?php
function my_function($x,$y)
{
if ($x==$y)
{
return 0;
}
return ($x>$y)?1:-1;
}
$array_1=array("a"=>"R","b"=>"G","c"=>"B");
$array_2=array("a"=>"B","b"=>"Bl","e"=>"B");
$array_3=array("a"=>"G","b"=>"R","e"=>"Y", "f"=>"Bl");
$result=array_udiff($array_1,$array_2,$array_3,"my_function");
print_r($result);
?>