如何将已存在的数组转换为新的特定数组?

时间:2017-04-02 16:30:12

标签: php arrays codeigniter

这是我的加拿大邮政运费率数据:

Array(
[Priority] => Array
    (
        [num] => 388.98
        [str] => Can$ 388.98
    )

[Xpresspost] => Array
    (
        [num] => 294.98
        [str] => Can$ 294.98
    )

[Regular] => Array
    (
        [num] => 97.14
        [str] => Can$ 97.14
    ))

现在我想减去num的值,并希望从上面的数组中创建一个新数组,如下所示:

Array(
[Priority] => Array
    (
        [num] => 194.49
        [str] => Can$ 194.49
    )

[Xpresspost] => Array
    (
        [num] => 147.49
        [str] => Can$ 147.49
    )

[Regular] => Array
    (
        [num] => 48.57
        [str] => Can$ 48.57
    ))

那我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

你只需要遍历你的数组($ inputArray):

$outputArray = array();
foreach($inputArray as $key => $value){
    $sum = $value['num']/2;
    $outputArray[$key] = array(
        'num' => $sum,
        'str' => 'Can$ '.$sum,
    );
}

您的输出将位于 $ outputArray 变量中。

答案 1 :(得分:0)

你可以在数组上使用foreach

foreach($my_array  as $key => $value){
    $val = $value['num']/2;
    $value['num'] = $val;
    $value['str'] = 'Can$ ' .$val;
  }