2014-01-21 15 views
0

我有一個csv數組,需要解析數據。數據如下:根據條件將單獨的數組分解爲多維數組

Array 
1. PO|115207534 
2. OD|115207534 
3. PO|115207535 
4. OD|115207535 
5. OD|115207536 

我需要將其分離成子陣列,其中每個作爲PO行的第一個條目。可能有任何數量的OD線,但始終只有1個PO。新陣列需要如下:

Array 
1. 
PO|115207534 
OD|115207534 
2. 
PO|115207535 
OD|115207535 
OD|115207536 

什麼是最有效的只使用一個foreach循環?並使用2個foreach循環?

+5

你有沒有嘗試過任何東西這麼遠? –

+2

我們必須免費做你的作業嗎? –

+0

對不起,我知道這是一個可怕的問題,我只是想爲一個朋友設置一些訂單處理,這不完全是我的交易(正如你所知道的),所以我想我可以得到一些幫助出於某種原因,我試圖將子陣限制爲3,然後將任何連續的OD行分隔到它自己的數組中。我會把我試過的東西放進去,但是你們閱讀它是浪費時間。 –

回答

1

你可以嘗試這樣的價值「PO」分裂進口項目爲分塊陣列的數量,

<?php 
$array = array("PO", "OD", "PO", "OD", "OD", "OD", "OD", "PO", "OD", "PO", "OD", "OD"); 
$result = array(); 
$index = -1; 
foreach ($array as $value) { 
    if ($value == "PO") { 
     $index++; 
    } 
    $result[$index][] = $value; 
} 
?> 
<pre> 
    <?php 
    print_r($result); 
    ?>  
</pre> 

輸出: http://codepad.org/aXpK43Uw