이 배열이 있습니다 … 각 파일 경로와 파일 이름을 어떻게 인쇄합니까? 이를 수행하는 가장 좋은 방법은 무엇입니까?
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 $item[$i]['filename'];
echo $item[$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
배열이나 객체의 스냅 샷을 얻는 데 정말 유용한 함수입니다.
답변
좋아, 나는 받아 들여진 대답이 있다는 것을 알고 있지만… 더 특별한 경우에 당신은 또한 이것을 사용할 수있다 :
array_map(function($n) { echo $n['filename']; echo $n['filepath'];},$array);
또는 좀 더 복잡하지 않은 방식으로 :
function printItem($n){
echo $n['filename'];
echo $n['filepath'];
}
array_map('printItem', $array);
이렇게하면 데이터를 더 쉽게 조작 할 수 있습니다.
답변
HTML없이 간단하게 시작 :
foreach($database as $file) {
echo $file['filename'] . ' at ' . $file['filepath'];
}
그렇지 않으면 foreach의 필드를 조작 할 수 있습니다.
답변
foreach($array as $item=>$values){
echo $values->filepath;
}
답변
추가 변수를 만들거나 foreach ()처럼 메모리에 데이터를 복사하지 않고도 사용할 수 있습니다.
while (false !== (list($item, $values) = each($array)))
{
...
}
답변
