2012-10-05 41 views
1

如何在PHP中打印多個數組中的值?在PHP中打印多個數組中的值

例如這裏是我有的結構,我想從這些arryas打印filepath,這裏顯然我們有兩個數組,但在我的情況下它是動態的。如何從未知數量的數組打印filepath

[field_pic] => Array 
    (
     [0] => Array 
      (
       [fid] => 29 
       [uid] => 1 
       [filename] => 011.jpg 
       [filepath] => sites/default/files/011.jpg 
       [filemime] => image/jpeg 
       [filesize] => 154608 
       [status] => 1 
       [timestamp] => 1349463183 
       [list] => 1 
       [data] => 
      ) 

     [1] => Array 
      (
       [fid] => 31 
       [uid] => 1 
       [filename] => 019.jpg 
       [filepath] => sites/default/files/019.jpg 
       [filemime] => image/jpeg 
       [filesize] => 158635 
       [status] => 1 
       [timestamp] => 1349463188 
       [list] => 1 
       [data] => 
      ) 
    ) 

回答

0

嘗試:

for($i = count($field_pic) -1 ; $i >= 0 ; $i--){ //You have to substract 1 to the array length because it's of bound 
    echo "filepath=" . $field_pic[$i]['filepath']; 
} 

實施例:

$arr = array(1,2,3) 

Count($arr) = 3; 但`$陣列[3] =未定義;

+0

真的謝謝,解決了我的問題,也學到了一件新事物。 – Zim3r

+0

對不起,如果首先創建一個空值,然後'filepath'我該如何解決這個問題? – Zim3r

+1

固定...看到我編輯的帖子+ exaplanation –

1
foreach($field_pic as $pic) 
    var_dump($pic["filepath"]); 

你想讓它這樣嗎?

+0

謝謝,我會嘗試。 – Zim3r

2

輸出它自己的線

foreach($field_pics as $field_pic) 
{ 
    echo $field_pic['filepath'] . '<br />'; 
} 
+0

我試過你的代碼片段,什麼都沒有發生,我想我做錯了什麼。謝謝 – Zim3r

1

每個文件路徑假設你的二維數組稱爲$main以下應該實現自己的目標:

#create an array to store the filenames 
$filenames_array = array(); 

# this will loop through the first array 
foreach($main as $subarray) 
{ 
    # append the filename to the end of the array you created to store these names 
    $filenames_array[] = $subarray['filename']; 
} 

var_dump($filenames_array); 

這應該解決這個問題。

P.S.這是你的功課嗎?

+2

謝謝,這是Drupal不是我的作業:D我會試試這個。 – Zim3r

0

真的感謝大家,這是我如何固定它:

for($i = count($node->field_pic) ; $i >= 0 ; $i--){ 
    echo $node->field_pic[$i]['filepath']; 
}