2014-04-18 118 views
0

我的數組示出如下:從多維數組獲取值

Array 
(
[0] => Array 
    (
     [amount_id] => 1 
     [enquiry_id] => 1 
     [project_id] => 1 
    ) 

[1] => Array 
    (
     [amount_id] => 4 
     [enquiry_id] => 4 
     [project_id] => 4 
    ) 

[2] => Array 
    (
     [amount_id] => 5 
     [enquiry_id] => 5 
     [project_id] => 5 
    ) 

) 

此陣列可被增加。我怎樣才能從這個數組中獲得每個'amount_id'的值?我應該使用什麼功能?每個功能都可以工作嗎?

回答

1

只是嘗試:

$input = array(/* your data */); 
$output = array(); 
foreach ($input as $data) { 
    $output[] = $data['amount_id']; 
} 
1

您可以使用一個班輪array_walk()打印那些..

array_walk($arr,function($v){ echo $v['amount_id']."<br>";}); 

Working Demo

+0

這將打印所有元素,而不是特定的元素。我認爲問題是「每個」元素 – PalDev

+0

謝謝尚卡爾先生,您的演示適用於我。 –

1

不喜歡這array_map或使用array_column爲版本PHP 5.5或更高版本

$outputarr= array_map(function($item){ return $item['amount_id'];},$yourarr); 
print_r($outputarr); 
0

嘗試以下,這是一種訪問特定的陣列 - 更容易調試以後,更好的速度:

$num=count($your_array); 
for($i="0"; $i<$num; $i++) 
    { 
    echo $your_array[$i]['amount_id']; 
    } 

你可以循環,直到$ I <計數($ your_array),但它意味着,計數將在每個循環中運行,對於高性能網站我不會這樣做。

您可以通過$ your_array [$ the_index] ['amount_id']或其他索引訪問2D數組中的特定元素。