【问题标题】:Calculate with arrays in php用php中的数组计算
【发布时间】:2019-07-12 06:34:26
【问题描述】:

你好我如何用这个数组计算我想计算两个数组第一个数组的差

$neu = Array ( [1] => 0 [1.5] => 0 [1.75] => 0 [1.95] => 0 [2.1] => 0 [2.45] => 0 [2.8] => 0 [3.95] => 0 [4.95] => 10)

$rueck = Array ( [1] => 0 [1.5] => 0 [1.75] => 0 [1.95] => 0 [2.1] => 0 [2.45] => 0 [2.8] => 0 [3.95] => 0 [4.95] => 5)

结果应该是这样的

$result = Array ( [1] => 0 [1.5] => 0 [1.75] => 0 [1.95] => 0 [2.1] => 0 [2.45] => 0 [2.8] => 0 [3.95] => 0 [4.95] => 5)

我想让 foreach 键像这样计算 $new - $rueck = $result

//编辑

我的解决方案(不起作用)

foreach($this->neu as $price=>$value){
    foreach($this->rueck as $priceold=>$valueold){
        $result = $value - $valueold;
    }
    $this->calcresult += array($price=>$result);
}

【问题讨论】:

  • foreach 循环,数学,你试过什么?
  • 已添加到问题中
  • 你不想要 2 个循环,只要一个,使用循环内第一个数组的键来访问第二个数组
  • 你那里的钥匙有点奇怪

标签: php arrays associative-array


【解决方案1】:
<?php

$neu = [ '1' => 0, '1.5' => 0, '1.75' => 0, '1.95' => 0, '2.1' => 0, '2.45' => 0, '2.8' => 0, '3.95' => 0, '4.95' => 10];
$rueck = [ '1' => 0, '1.5' => 0, '1.75' => 0, '1.95' => 0, '2.1' => 0, '2.45' => 0, '2.8' => 0, '3.95' => 0, '4.95' => 5];

$res_arr = [];

foreach($neu as $key => $value)
{
    if(isset($rueck[$key]))
    {
        $res_arr[$key] = (int)$neu[$key] - (int)$rueck[$key];
    }
}

print_r($res_arr);

结果:

Array
(
    [1] => 0
    [1.5] => 0
    [1.75] => 0
    [1.95] => 0
    [2.1] => 0
    [2.45] => 0
    [2.8] => 0
    [3.95] => 0
    [4.95] => 5
)

【讨论】:

    猜你喜欢
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    相关资源
    最近更新 更多