2016-05-31 72 views
0

我創建一個這樣的數組:PHP創建multidimensioanal陣列

$result[$buyid.'_'.$freeid] = array(
    'itemquantity' => $v, 
    'buyproduct' => $_POST['buyproduct'][$k], 
    'buyproductid' => $buyid, 
    'freequantity' => $_POST['freequantity'][$k], 
    'freeproduct' => $_POST['freeproduct'][$k], 
    'freeproductid' => $freeid, 
); 

,輸出我的數組是這樣的:

Array(
[53_53] => Array 
    (
     [itemquantity] => 5 
     [buyproduct] => 
     [buyproductid] => 53 
     [freequantity] => 1 
     [freeproduct] => 
     [freeproductid] => 53 
    ) 

[53_38] => Array 
    (
     [itemquantity] => 2 
     [buyproduct] => 
     [buyproductid] => 53 
     [freequantity] => 1 
     [freeproduct] => 
     [freeproductid] => 38 
    ) 

[31_31] => Array 
    (
     [itemquantity] => 5 
     [buyproduct] => 
     [buyproductid] => 31 
     [freequantity] => 1 
     [freeproduct] => 
     [freeproductid] => 31 
    ) 

我想保存我的數據略不同。我想基於「buyproductid」來存儲它。所以如果有多個「buyproductid」,它就創建一個子數組。事情是這樣的:

Array(
[53] => Array(
    [53] => Array(
     [itemquantity] => 5 
     [buyproduct] => 
     [buyproductid] => 53 
     [freequantity] => 1 
     [freeproduct] => 
     [freeproductid] => 53 
    ), 
    [38] => Array(
     [itemquantity] => 5 
     [buyproduct] => 
     [buyproductid] => 53 
     [freequantity] => 1 
     [freeproduct] => 
     [freeproductid] => 53 
    ) 

),

[31] => Array(
    [31] => Array(
     [itemquantity] => 5 
     [buyproduct] => 
     [buyproductid] => 31 
     [freequantity] => 1 
     [freeproduct] => 
     [freeproductid] => 31 
    ) 

) 

什麼是實現這一目標的最佳途徑?

+1

'$結果[$ buyid] [$ freeid] = ...'? –

+0

你能告訴我們生成'$ result'數組的代碼嗎? – huuuk

回答

1

只是將其更改爲:

$result[$buyid][$freeid] = array(
    'itemquantity' => $v, 
    'buyproduct' => $_POST['buyproduct'][$k], 
    'buyproductid' => $buyid, 
    'freequantity' => $_POST['freequantity'][$k], 
    'freeproduct' => $_POST['freeproduct'][$k], 
    'freeproductid' => $freeid, 
); 
2

你只需要改變賦值語法一點:

$result[$buyid][$freeid] = array(
    'itemquantity' => $v, 
    'buyproduct' => $_POST['buyproduct'][$k], 
    'buyproductid' => $buyid, 
    'freequantity' => $_POST['freequantity'][$k], 
    'freeproduct' => $_POST['freeproduct'][$k], 
    'freeproductid' => $freeid, 
);