2016-09-14 156 views
1

我通過這個陣列,並相應回聲效果試圖循環,我的陣列顯示這樣的時刻:foreach所陣列組合鍵

Array (
    [2016 Q1] => 692.00 
    [2016 Q2] => 
    Array (
     [0] => 809.00 
     [1] => 1.00 
    ) 
    [2016 Q3] => 
    Array (
     [0] => 290.00 
     [1] => 8.00 
     [2] => 2.50 
    ) 
) 

我需要它來顯示這樣的事情:

2016 Q1 
692.00 
2016 Q2 
809.00 
1.00 
2016 Q3 
290.00 
8.00 
2.50 

雖然此刻卻這樣表示:

2016 Q1 
692.00 
2016 Q2 
Array 
2016 Q3 
Array 

這裏是我當前的腳本:

$result = array_merge_recursive($quarter_invoice, $quarter_ads, $quarter_account); 

foreach ($result as $key => $value){ 
    echo $key.'<br>'; 
    echo $value.'<br>'; 
} 

如何訪問顯示的第二批數組?

+1

你有孩子數組。你必須檢測/處理這些數據,否則你只需要將'Array'作爲輸出,這就是當你在字符串上下文中使用數組時會發生什麼:字面上的數組''''。 –

回答

0

您第一元件是不是一個數組,但浮子/單個值。你的下兩個元素都是數組。你需要有更多的一致性。我假設你的第一個元素應該在數組中?喜歡這個 ?

Array (
    [2016 Q1] => 
     Array (
     [0] => 692.00 
    ) 
    [2016 Q2] => 
    Array (
     [0] => 809.00 
     [1] => 1.00 
    ) 
    [2016 Q3] => 
    Array (
     [0] => 290.00 
     [1] => 8.00 
     [2] => 2.50 
    ) 
) 

那麼你的腳本可以像這樣

$result = array_merge_recursive($quarter_invoice, $quarter_ads, $quarter_account); 

foreach ($result as $key => $value){ 
    echo $key."<br>"; 
    foreach($value as $element){ 
     echo $element."<br>; 
    } 
    echo "<br>"; 
} 

,如果我錯了,你確實需要你提到orginally,準確的結構。做這樣的事情

$result = array_merge_recursive($quarter_invoice, $quarter_ads, $quarter_account); 

foreach ($result as $key => $value){ 
    echo $key."<br>"; 
    if(is_array($value)){ 
     foreach($value as $element){ 
      echo $element."<br>; 
     } 
    }else{ 
     echo $value; 
    } 
    echo "<br>"; 
} 

這看似低效只是輸出(可能只是爆),但我認爲你需要做的不僅僅是輸出更多的迭代和處理這些不同類型的時候。

+0

感謝您的回答,我已經標記爲正確,因爲這是幫助我實現最終目標的那個。感謝您提供選擇。 – Snappysites

+0

沒問題。非常感謝! –

1

只是implode()他們。所述$value可以是或可以不是一個陣列,以便迫使陣列(array)

foreach ($result as $key => $value){ 
    echo $key.'<br>'; 
    echo implode('<br>', (array)$value).'<br>'; 
} 
+0

謝謝你的回答,這個腳本確實有效,因爲我說它也需要它,所以我已經標記了它。雖然implode選項不是我的要求的最佳解決方案。我感謝您的幫助! – Snappysites

+0

謝謝!下次發佈_actual_要求。這可能是最好的回聲。 – AbraCadaver