我有以下情况:
$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);
我想用进程数组的值更新我的starter数组的值,例如,最后,我应该:
$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:我知道这些是奇怪的要求,但这就是我被要求做的事情......答案 0 :(得分:1)
您需要将$key
放在括号中,而不是$value
。
或者,您可以这样做:
foreach ($starterArray as $key => &$value) {
$value++; /* put here whatever formula you want */
}
答案 1 :(得分:1)
foreach ($starterArray as $key => $value) {
$starterArray[$key] = $value+1;
// or $starterArray[$key] = 0;
}
答案 2 :(得分: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;
}