php基于具有相同键的其他数组更新数组的值
我有以下情况:php基于具有相同键的其他数组更新数组的值,php,arrays,for-loop,Php,Arrays,For Loop,我有以下情况: $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'=&g
$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:我知道这些要求很奇怪,但这就是我被要求做的…你需要把$key
放在括号里,而不是$value
或者,您可以执行以下操作:
foreach ($starterArray as $key => &$value) {
$value++; /* put here whatever formula you want */
}
您需要将$key
放在括号中,而不是$value
中
或者,您可以执行以下操作:
foreach ($starterArray as $key => &$value) {
$value++; /* put here whatever formula you want */
}
你就快到了:-
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;
}
你就快到了:-
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;
}
PHP手册中的foreach
示例应该对您有所帮助。特别是,您使用的是[$value]
而不是[$key]
。PHP手册中的foreach
示例应该对您有所帮助。特别是,您使用的是[$value]
而不是[$key]
。