Funkcja array_uintersect_uassoc() w PHP
Przykład
Porównaj klucze i wartości dwóch tablic (używając funkcji użytkownika do porównania) i zwróć intersection (pasujące):
<?php function myfunction_key($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } function myfunction_value($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","c"=>"green"); $result=array_uintersect_uassoc($a1,$a2,"myfunction_key","myfunction_value"); print_r($result); ?>
Definicja i użycie
Funkcja array_uintersect_uassoc() porównuje klucze i wartości dwóch (lub więcej) tablic i zwraca intersection.
Komentarz:Funkcja ta używa dwóch funkcji użytkownika do porównania; pierwsza funkcja porównuje klucze, druga funkcja porównuje wartości!
Funkcja ta porównuje klucze i wartości dwóch (lub więcej) tablic i zwraca tablicę intersection, która zawiera wszystkie elementy z porównywanych tablic (array1) oraz w innych tablicach parametrów (array2 lub array3 i innych) nazwy kluczy i wartości.
Uwaga, zwróć uwagę na array_uintersect() Różnica polega na tym, że porównuje się również nazwy kluczy. Wartości i nazwy kluczy (indeksy) są porównywane za pomocą zwrotnych funkcji.
Gramatyka
array_uintersect_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
Parametry | Opis |
---|---|
array1 | Wymagane. Pierwsza tablica do porównania z innymi tablicami. |
array2 | Wymagane. Tablica do porównania z pierwszą tablicą. |
array3,... | Opcjonalne. Inne tablice do porównania z pierwszą tablicą. |
myfunction_key |
Wymagane. Nazwa użytkownika definiowanej funkcji porównawczej do nazw kluczy tablicy. Definiuje użytkownika definiowanego porównawczego funkcji. Jeśli pierwszy parametr jest mniejszy niż, równy lub większy niż drugi parametr, funkcja porównawcza musi zwrócić liczbę całkowitą mniejszą niż, równą lub większą niż 0. |
myfunction_value |
Wymagane. Nazwa użytkownika definiowanej funkcji porównawczej do kluczy tablicy. Definiuje użytkownika definiowanego porównawczego funkcji. Jeśli pierwszy parametr jest mniejszy niż, równy lub większy niż drugi parametr, funkcja porównawcza musi zwrócić liczbę całkowitą mniejszą niż, równą lub większą niż 0. |
używając użytkownika definiowanego zwrotnego funkcji myfunction_key i myfunction_value do obliczenia intersectionu dwóch lub więcej tablic (tj. array1 zawarte są w innych tablicach istniejących w innych tablicach, i zwraca wynikową tablicę.
Porównuje zarówno nazwy kluczy, jak i wartości, np. "a"=>1 i "b"=>1 te dwa elementy są różne.
myfunction_key Podana funkcja służy do porównania, czy nazwy kluczy są równe.myfunction_value Podana funkcja służy do porównania, czy wartości kluczy są równe. Oba te funkcje mają dwa parametry do porównania. Jeśli pierwszy parametr jest mniejszy niż drugi, funkcja zwraca ujemną liczbę, jeśli parametry są równe, zwraca 0, jeśli pierwszy parametr jest większy niż drugi, zwraca liczbę pozytywną.
Imiona kluczy w zwracanej tablicy pozostają takie same.
Szczegóły techniczne
Zwrócona wartość: | Zwraca tablicę zawierającą wszystkie array1 w jednostkach w innych wszystkich tablicach. |
Wersja PHP: | 5+ |