У меня есть этот массив … как вы печатаете каждый путь к файлу и имя файла? Каков наилучший способ сделать это?
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 ) )
Использование цикла foreach
без ключа
foreach($array as $item) { echo $item['filename']; echo $item['filepath']; // to know what's in $item echo '<pre>'; var_dump($item); }
Использование цикла foreach
с ключом
foreach($array as $i => $item) { echo $array[$i]['filename']; echo $array[$i]['filepath']; // $array[$i] is same as $item }
Использование for
цикла
for ($i = 0; $i < count($array); $i++) { echo $array[$i]['filename']; echo $array[$i]['filepath']; }
var_dump
– действительно полезная функция для получения моментального снимка массива или объекта.
Запуск простой, без HTML:
foreach($database as $file) { echo $file['filename'] . ' at ' . $file['filepath']; }
И вы можете иначе манипулировать полями в foreach.
Хорошо, я знаю, что есть принятый ответ, но … для более особых случаев вы также можете использовать этот:
array_map(function($n) { echo $n['filename']; echo $n['filepath'];},$array);
Или более сложным способом:
function printItem($n){ echo $n['filename']; echo $n['filepath']; } array_map('printItem',$array);
Это позволит вам манипулировать данными более простым способом.