2013-02-13 19 views
0

我的字符串是作爲這樣麻煩使用爆炸()與多發性定界符和循環在PHP

$items = "2,1/3,5/2,5/3,2"; 

的斜槓(/)分開的值是每個項目的順序。

逗號(,)分隔的值是項目ID和數量。

我想創建一個循環來分隔/值,然後分離值,但我很難這樣做。

$order_array = explode('/', $items); 
    $order = ''; 
    foreach ($order_array as $item_array) { 
     $item = explode(',', $item_array); 
     foreach ($item as $key) { 
      echo 'Item ID '.$key[0].' QTY'.$key[1]; 

     } 
    } 
+0

怎麼回事? – AmazingDreams 2013-02-13 07:41:15

+2

這裏有一個語法錯誤:應該是'echo'Item ID'。$ key [0]。' QTY'。$ key [1];' – k102 2013-02-13 07:42:23

+0

代碼看起來不錯,我們只能猜測這就是問題所在。 – AmazingDreams 2013-02-13 07:44:39

回答

0

如果我沒有錯,下面是你正在尋找的代碼。

<?php 
$items = "2,1/3,5/2,5/3,2"; 
$order_array = explode('/', $items); 
$order = ''; 
foreach ($order_array as $item_array) 
{ 
    $item = explode(',', $item_array); 
    echo 'Item ID '.$item[0].' QTY '.$item[1] .'<br />'; 
}

因爲你正在做的是foreach循環得到$item和訪問$key$key[0]不存在,那麼它會拋出錯誤。

+0

+1 for too too bro .. – 2013-02-13 08:09:54

1

你做

$item = explode(',', $item_array); 

後,你有你的價值在$項目[0],$項目[1]

取出內

foreach ($item as $key) { 
      echo 'Item ID '.$key[0].' 'QTY '.$key[1]; 

     } 

打印數值爲

echo 'Item ID '.$item[0].' QTY '.$item[1]; 
0

如前所述,echo語句中有一個語法錯誤,並帶有額外的單引號。你也不需要最內層的foreach循環。

$order_array = explode('/', $items); 
$order = ''; 
foreach ($order_array as $item_array) { 
    $item = explode(',', $item_array); 
    echo 'Item ID '.$item[0]. 'QTY '.$item[1]; 


}