2011-01-25 13 views
10

Say Mam funkcji, która zwraca tablicę takiego ...Czy istnieje czysty sposób na * pominięcie * indeksu tablicy przy użyciu `list()` PHP?

array(
    0 => 'jpg', 
    1 => 400, 
    2 => 500 
); 

Chcę indeksy 1 i 2 tylko, i chcę je jako zmienne lokalne. Nie dbam o 0.

mogłem zrobić ...

list($throwaway, $width, $height) = getImageDetails($imagePath); 
unset($throwaway); 

... ale oczywiście to jest bardzo brzydka.

Próbowałem umieścić tam NULL, ale dostałem błąd rozdzielczości zakresu.

Czy istnieje czysty sposób na pomiń indeks tablicy przy użyciu PHP list()?

Odpowiedz

21

Tak, nie wypełniać tego argumentu, to jest całkowicie poprawny:

list(, $width, $height) = getImageDetails($imagePath); 

(patrz także Example 1 in the manual)

+2

@ # $%! Pamiętam, że robiłem to w przeszłości! Dziękuję za odpowiedź i bieganie po mojej pamięci! – alex

4

Dla innej jedną wkładką:

list($width, $height) = array_slice(getImageDetails($imagePath), 1, 2); 

Demo.

Następnie jest nieco bardziej zabawny:

list($height, $width) = array_reverse(getImageDetails($imagePath)); 

Demo.

+0

+1 za kreatywne myślenie =} – alex

+0

+1 za wyświetlenie strony ideone.com! – JasonDavis

Powiązane problemy