0

我有以下情况:

$starterArray = array ('192.168.3.41:8013'=>0,'192.168.3.41:8023'=>0,'192.168.3.41:8033'=>0);

在要求中,我有另一个数组来计算应用程序的一些事件,这个数组使用与我的第一个数组相同的键,但值可以改变),所以最后我可以有类似的东西:

$processArray = array ('192.168.3.41:8013'=>3,'192.168.3.41:8023'=>5,'192.168.3.41:8033'=>7);

我想用进程数组的值更新我的起始数组的值,例如,最后,我应该有:

$starterArray = array ('192.168.3.41:8013'=>3,'192.168.3.41:8023'=>5,'192.168.3.41:8033'=>7);

我知道这可以通过使用来实现$starterArray = $processArray;

然后在某些时候,我需要将一些单位与我的数组的值相加,例如 +1 或 +2:

它应该类似于以下内容?

foreach ($starterArray as $key => $value) {
    $starterArray[$value] = $starterArray[$value]+1;
}

然后,对于我的进程数组,我需要将值设置为 0

foreach ($processArray as $key => $value) {
    $processArray[$value] = 0;
}

这是我尝试过的,但它不起作用,如果有人可以帮助我,我会非常感激它。提前致谢。

PD:我知道这些是奇怪的要求,但这就是我被要求做的……

4

3 回答 3

1

您需要放在$key括号中,而不是$value.

或者,您可以这样做:

foreach ($starterArray as $key => &$value) {
    $value++; /* put here whatever formula you want */
}
于 2013-06-14T21:52:05.370 回答
1
foreach ($starterArray as $key => $value) {
    $starterArray[$key] = $value+1;
    // or $starterArray[$key] = 0;
}
于 2013-06-14T21:52:45.060 回答
1

你快到了:-

foreach ($processArray as $key => $value) {
    $starterArray[$key] = $value +1;
}

接着:-

foreach ($processArray as $key => $value) {
    $processArray[$key] = 0;
}

但是,您可以在一个循环中完成所有操作:-

foreach ($processArray as $key => $value) {
    $starterArray[$key] = $value +1;
    $processArray[$key] = 0;
}
于 2013-06-14T21:54:18.930 回答