重新格式化post数组

时间:2012-04-12 07:06:59

标签: php mysql arrays multidimensional-array

我有一个如下所示的帖子数组:

[quantity] => Array
    (
        [5] => 10
        [23] => 20
    )

[price] => Array
    (
        [5] => 100.00 $
        [23] => 200.00 $
    )

[amount] => Array
    (
        [5] => 1,000.00 $  
        [23] => 4,000.00 $ 
    )

5和23是产品的id。我需要将其转换为:

[5]  => Array
     (
        [quantity] => 10
        [price]    => 100.00 $
        [amount]   => 1,000.00 USD
     )
[23] = => Array
     (
        [quantity] => 20
        [price]    => 200.00 $
        [amount]   => 4,000.00 USD
     )

如何有效地实现这一目标,以便他们可以为mysql插入做好准备?

2 个答案:

答案 0 :(得分:0)

浏览其中一个阵列,获取ID并重建。

示例:

// YOUR DATA
$quantity = array();
$price = array();
$amount = array();

// NEW ARRAY
$array = array();

foreach ($quantity as $id => $itemQty) {
   $itemPrice = $price[$id];
   $itemAmount = $amount[$id];
   $array[$id] = array("quantity" => $itemQty, "amount" => $itemAmount, "price" => $itemPrice);
}

现在,您可以根据需要对$ array中的数据进行排序。

答案 1 :(得分:0)

$quantity = array(5=>10,23=>20);
$price    = array(5=>'100.00$',23=>'200.00$');
$amount   = array(5=>'1000.00$',23=>'4000.00$');

$newData  = array_map(null, $quantity, $price,$amount);
$newKeys  = array_keys($quantity);
$data     = array_combine($newKeys,$newData);

echo('<pre>');
print_r($data);

但必须订购数组!