2010-12-11 21 views
46

Mam tę tablicę ... jak wydrukować każdą ścieżkę pliku i nazwę pliku? Jaki jest najlepszy sposób na zrobienie tego?Pętla przez tablicę php

Array ( 
    [0] => Array ( 
      [fid] => 14 
      [list] => 1 
      [data] => Array ( 
         [alt] => 
         [title] => 
         ) 
      [uid] => 1 
      [filename] => trucks_10785.jpg 
      [filepath] => sites/default/files/trucks_10785.jpg 
      [filemime] => image/jpeg 
      [filesize] => 143648 
      [status] => 1 
      [timestamp] => 1291424171 
      [nid] => 8 
      ) 
    [1] => Array ( 
      [fid] => 19 
      [list] => 1 
      [data] => Array ( 
         [alt] => 
         [title] => 
         ) 
      [uid] => 1 
      [filename] => school.jpg 
      [filepath] => sites/default/files/school.jpg 
      [filemime] => image/jpeg 
      [filesize] => 115355 
      [status] => 1 
      [timestamp] => 1292029563 
      [nid] => 8 
      ) 
    [2] => Array ( 
      [fid] => 20 
      [list] => 1 
      [data] => Array ( 
         [alt] => 
         [title] => 
         )  
      [uid] => 1 
      [filename] => Life_is_wonderful_by_iNeedChemicalX.jpg 
      [filepath] => sites/default/files/Life_is_wonderful_by_iNeedChemicalX_0.jpg 
      [filemime] => image/jpeg 
      [filesize] => 82580 
      [status] => 1 
      [timestamp] => 1292029572 
      [nid] => 8 
      ) 
    [3] => Array ( 
      [fid] => 21 
      [list] => 1 
      [data] => Array ( 
         [alt] => 
         [title] => 
         ) 
      [uid] => 1 
      [filename] => school_rural.jpg 
      [filepath] => sites/default/files/school_rural.jpg 
      [filemime] => image/jpeg 
      [filesize] => 375088 
      [status] => 1 
      [timestamp] => 1292029582 
      [nid] => 8 
      ) 
) 
+0

foreach ($ node-> field_image jako & $ value) { print_r (wartość $); echo "


"; } – esafwan

Odpowiedz

125

Korzystanie foreach pętlę bez klucza

foreach($array as $item) { 
    echo $item['filename']; 
    echo $item['filepath']; 

    // to know what's in $item 
    echo '<pre>'; var_dump($item); 
} 

Korzystanie foreach pętli z kluczem

foreach($array as $i => $item) { 
    echo $array[$i]['filename']; 
    echo $array[$i]['filepath']; 

    // $array[$i] is same as $item 
} 

Korzystanie for pętli

for ($i = 0; $i < count($array); $i++) { 
    echo $array[$i]['filename']; 
    echo $array[$i]['filepath']; 
} 

var_dump jest naprawdę przydatnych funkcji, aby uzyskać migawkę arr ay lub obiekt.

+2

Również sprawdź 'var_export', który drukuje prawidłowy kod PHP. Możesz zapisać to w pliku, a następnie napisać kod, aby zapętlić go tam przed umieszczeniem go w głównym kodzie. – Ben

+0

jest tutaj problem z użyciem metody pętli for. Czytałem gdzieś, że indeks może nie istnieć? – bakalolo

+0

Jeśli indeks nie jest zdefiniowany jak '['a', 'b', 'c']', to jego wartości to 0,1 i 2. – Ish

5

Zaczynając prosty, bez HTML:

foreach($database as $file) { 
    echo $file['filename'] . ' at ' . $file['filepath']; 
} 

A można inaczej manipulować pola w foreach.

5

Ok, wiem, że jest akceptowane odpowiedź, ale ... dla bardziej szczególnych przypadkach również mogli korzystać z tego jeden:

array_map(function($n) { echo $n['filename']; echo $n['filepath'];},$array); 

Albo bardziej un-kompleksowo:

function printItem($n){ 
    echo $n['filename']; 
    echo $n['filepath']; 
} 

array_map('printItem', $array); 

ten pozwoli ci łatwiej manipulować danymi.

Powiązane problemy