Funkcja PHP array_intersect_uassoc()
Przykład
Porównaj nazwy i wartości kluczy dwóch tablic (używając funkcji zwrotnych do porównania nazw kluczy) i zwróć intersection:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("d"=>"red","b"=>"green","e"=>"blue"); $result=array_intersect_uassoc($a1,$a2,"myfunction"); print_r($result); ?>
Definicja i użycie
Funkcja array_intersect_uassoc() używa nazw i wartości kluczy dwóch (lub więcej) tablic do porównania i zwraca intersection.
Komentarz:Funkcja ta używa funkcji zwrotnych dostarczonych przez użytkownika do porównania nazw kluczy!
Funkcja ta porównuje nazwy i wartości kluczy dwóch (lub więcej) tablic i zwraca tablicę intersectionu, która zawiera wszystkie wartościarray1) oraz w dowolnych innych parametrycznych tablicach (array2 lub array3 itp.) kluczami i wartościami.
Opis
Funkcja array_intersect_uassoc() używa funkcji zwrotnych dostarczonych przez użytkownika do obliczania intersectionu tablic, porównując indeksy za pomocą tych funkcji.
Funkcja array_intersect_uassoc() zwraca tablicę, która zawiera wszystkie wartości array1 Te same wartości również występują we wszystkich innych tablicach parametrów. Nazwy kluczy w zwracanej tablicy pozostają niezmienione.
Uwaga, w przeciwieństwie do array_intersect(), oprócz porównania wartości kluczy, porównuje się również nazwy kluczy.
Porównanie to jest przeprowadzane za pomocą funkcji zwrotnych dostarczonych przez użytkownika. Funkcja ta przyjmuje dwa parametry, które są nazwami kluczy do porównania. Jeśli pierwszy parametr jest mniejszy od drugiego, funkcja musi zwrócić liczbę ujemną, jeśli parametry są równe, zwraca 0, a jeśli pierwszy parametr jest większy od drugiego, zwraca liczbę dodatnią.
gramatyka
array_intersect_uassoc(array1,array2,array3,...myfunction)
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 | Wymagane. Definiuje ciąg znaków, który określa funkcję porównującą, którą można wywołać. Jeśli pierwszy parametr jest mniejszy, równy lub większy niż drugi parametr, funkcja porównująca musi zwrócić liczbę całkowitą mniejszą, równą lub większą niż 0. |
Szczegóły techniczne
Zwrócony wartość: | Zwróć tablicę intersection, która zawiera wszystkie elementy z porównywanych tablic (array1) oraz w dowolnych innych parametrycznych tablicach (array2 lub array3 itp.) kluczami i wartościami. |
Wersja PHP: | 5+ |
Więcej przykładów
Przykład 1
Porównaj nazwy kluczy i wartości trzech tablic (używając funkcji użytkownika do porównywania nazw kluczy) i zwróć intersection:
<?php function myfunction($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","d"=>"blue"); $a3=array("e"=>"yellow","a"=>"red","d"=>"blue"); $result=array_intersect_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>