这可能与PHP

时间:2009-08-02 14:13:19

标签: php

我有两个索引数组$ measurements []和$ diffs [],

$ measurements []填充了数据库中的值,$ diffs []从函数中获取值,该函数计算两次测量的差异。

当我在$ measurements []中有一组不同的测量值时,我想在$ diffs []数组中只为一个数组元素添加一个值,然后遍历它,然后更新数组元素的位置检查相应的$ measurements []数组中的索引数组元素从那里扣除它。

我想要完成的是在我有一系列测量时从相应的测量值中扣除一个特定的差异。

在PHP中这是可能的,我将如何做到这一点。

编辑:使其更具描述性(英语不是我的第一语言,也不是php)

$measurements Array ( [0] => 1469 [1] => 1465 [2] => 739 [3] => 849 ) 

$diffs Array ( [0] => 0 [1] => 0 [2] => 0 [3] => 0 ) 

我想更新$ diffs数组索引[2] => 200所以它变成

Array ( [0] => 0 [1] => 0 [2] => 200 [3] => 0 )

然后从$测量数组索引[2]中减去$ diffs数组索引[2],本例中为739 - 200

我真诚地希望这更清楚。

4 个答案:

答案 0 :(得分:4)

我确信它有可能......听起来你需要一些foreach和一些基本的算法。

但比具体而言,我无法帮助你。我无法理解你对问题的描述。


编辑:现在,有关表格的更多信息,代码并不是那么复杂。我就是这样做的:

foreach ($measurements as $index => $measurement) {
  $measurements[$index] -= $diffs[$index]; // subtract the negative difference from the measurement.
  unset($diffs[$index]);           // clear the modifier after use.
}

此代码遍历$measurements数组中的每个元素,并从$diffs中的相应索引中减去一个数字。此代码不要求$diffs具有与$measurements匹配的大小,因为PHP会将缺少的索引值强制为零。

答案 1 :(得分:0)

如果你的数组是100,也许是这样的。语法可能会关闭,就像以前的海报一样,不确定我是否理解你的问题。

for ( $counter = 0; $counter <= 100; $counter += 1) {
    $measurements[$counter] = $measurements[$counter] - $diff[$counter];
}

答案 2 :(得分:0)

如果我理解正确,你想首先在$ diffs数组中改变一些东西,然后只从$ measurements数组中索引所对应的元素中减去该数组中的更新元素。

我猜你必须首先制作$ diffs的副本,然后对其进行更改,然后将其与原始版本进行比较(如通过使用foreach())并在事情发生变化时更新值在一个特定的指数。

'如果我误解了,请原谅我!

答案 3 :(得分:0)

回答你的问题:“是”和“努力”