2013-03-19 37 views
-2

我想弄清楚如何操縱這個數組。這是我的例子:如何操作這個數組

$color = "red,yellow,green,black"; 
$stock = "10,20,30,40"; 

如果用戶選擇黃色和5的量,然後用黃顏色的項目的股票變成15

我的問題是,如何改變股票項目與黃色變成像這樣:

$color = "red,yellow,green,black"; 
$stock = "10,15,30,40"; 

我覺得是,我得到一個陣列位置的顏色是黃色,它會返回1.在哪裏陣列的位置是1。但我不知道怎麼做,更新股票。任何人都可以給我一個建議或解決方案嗎?

回答

1

下面是一個示例,您可以對其進行修改以適合您。這是假設你的字符串會轉換成相同大小的陣列和該命令將是正確的

// transform $color to array using comma as delimiter and return key position for yellow 
$position = array_search('yellow', explode(',', $color)); 
// transform $stock to array 
$stock = explode(',', $stock); 
// change value at the same position 
$stock[$position] = 15; 
// put it back into string 
$stock = implode(',', $stock); 
echo $stock; 

您還可以使用密鑰存儲在單個陣列中的數據 - >值對,在這種情況下,操縱這將是不重要的。

+0

我剛剛得到這個:「,15」。如何返回「10,15,30,40」? thx – 2013-03-19 18:15:55

+0

它返回'10,15,30,40'使用您上面張貼的變量 – 2013-03-19 18:17:38

+0

thx marko,我犯了一個錯誤。我用stok編寫股票,所以它返回false。 Thx,它適合我:) – 2013-03-19 18:26:09

1

那些不是數組,而是字符串。首先你應該熟悉arrays

您可以使用explode將字符串轉換爲數組。

+0

...然後用'implode'將數組變回字符串。 – cHao 2013-03-19 18:10:22