Mam tablicę, która ma państwa:Array przecinają się na klucz w tablicy?
array(
'AF'=>'AFGHANISTAN',
'AL'=>'ALBANIA',
'DZ'=>'ALGERIA',
'AS'=>'AMERICAN SAMOA',
);
i mam inną tablicę, która ma jedne z kluczy w nim
array('AL', 'DZ');
chcę wywołać funkcję, która będzie miała obie tablice jako parametry i powrócić
array(
'AL'=>'ALBANIA',
'DZ'=>'ALGERIA',
);
znam php ma wbudowane funkcje do porównania klucze lub wartości, ale wydaje się wszystkie te funkcje można oczekiwać ha ve dwie tablice 1D lub dwie tablice 2D.
mogłem pętli nad array_keys()
dla pierwszej tablicy i zrobić in_array()
kontrolę na każdym kluczu, ale wydaje się, że naprawdę inefficent ...
Musiałem spojrzeć dwa razy, ale jest to bardzo ładne, krótkie rozwiązanie. +1 –
@deceze - dobre rozwiązanie - czy istnieje skuteczny sposób obliczenia, czy WSZYSTKIE wartości w nowej tablicy pasują (na przykład tutaj, sprawdź: $ selection = array ('AL', 'AF', 'DZ', ' AS '); – JM4
@ JM4 Tak, zrób 'diff' zamiast' przecięcia'. – deceze