2013-07-30 42 views
0

我取的Facebook用戶的工作歷史,當我print_r,我得到一個這樣的數組:如何打印指定數組值

Array (
    [work] => Array (
     [0] => Array (
      [employer] => Array (
       [id] => 111178415566505 
       [name] => Liputan 6 SCTV 
      ) 
    ) [1] => Array (
      [employer] => Array (
       [id] => 107900732566334 
       [name] => SCTV 
      ) 
     ) 
    ) 
    [id] => 502163984 
) 

我怎麼只顯示來自name價值,所以輸出將是這樣的:

Liputan 6 SCTV 
SCTV 

我用foreach,但總是錯誤總是會發生的。

+4

類似'$ your_variable ['work'] [0] ['employer'] ['name']'? – machineaddict

回答

1

試試這個:

foreach ($array['work'] as $arr) { 
    echo $arr['employer']['name']."<br>\n"; 
} 

這是假設你的數據是這樣的:

$array = array(
    'work' => array(
     array(
      'employer' => array('id' => 111178415566505, 'name' => 'Liputan 6 SCTV'), 
     ), 
     array(
      'employer' => array('id' => 107900732566334, 'name' => 'SCTV'), 
     ), 
    ), 
    'id' => 502163984, 
); 
0

我認爲$arr工作歷史陣列。您可以使用for然後將數組是這樣的:

for($i=0, $records = count($arr['work']); $i < $records; $i++) { 
    echo $arr['work'][$i]['employer']['name'] ."<br>"; 
} 

使用foreach

foreach($arr['work'] as $works) { 
    echo $works['employer']['name'] ."<br>"; 
} 
1

比如你的數組變量名稱爲$測試,那麼你可以通過

$test['work'][0]['employer']['name'] 

得到name值您可以使用預標籤檢查您的陣列結構,如

echo '<pre>';print_r($test); 
0
foreach ($your_array as $your_array_item) 
{ 
    echo $your_array_item['work'][0]['employer']['name'] . '<br>'; 
} 
0
$count=count($array); 

for($i=0,$i<=$count;$i++){ 
echo $array['work'][$i]['employer']['name']; 
} 

這會運行動態..

+0

條件應該是'$ i <$ count'。 – som

+0

不正確! – TomPHP

0
foreach ($array['work'] as $val_arr) { 
    echo $val_arr['employer']['name']."<br />"; 
} 
1

您可以使用array_reduce,內爆,和關閉(PHP 5.3+)來做到這一點。

echo implode("<br/>", array_reduce($array["work"], 
    function(&$arr, $v){ 
     $arr[] = $v["employer"]["name"]; 
    },array() 
)); 
+0

這很可能是解決這個問題最複雜的方式,但它的樂趣。 – Orangepill