我在 foreach 循环中填充一个数组
foreach ($value as $key ){
$array[$key[label]]= $key[name];
}
当标签相同时,它会将值写入该键。
问题:当键值相同时,我想添加值并存储到该键。任何想法?
例如:
$key[name1]=5
$key[name2]=4
$key[name1]=3
then the $key[name1]=8(5+3)
我在 foreach 循环中填充一个数组
foreach ($value as $key ){
$array[$key[label]]= $key[name];
}
当标签相同时,它会将值写入该键。
问题:当键值相同时,我想添加值并存储到该键。任何想法?
例如:
$key[name1]=5
$key[name2]=4
$key[name1]=3
then the $key[name1]=8(5+3)
在循环内使用 isset 检查:
例如
foreach($array as $key => $value) {
if (isset($otherarray[$key])) {
$otherarray[$key] += $value;
} else {
$otherarray[$key] = $value;
}
}
就像是:
foreach ($value as $key ) {
if (isset($array[$key[label]]) {
$array[$key[label]] += $key[name];
} else {
$array[$key[label]] = $key[name];
}
}
哦...实际上你应该或包含label
在引号内,或者它是一个变量,你应该在 $.
foreach ($value as $key ){
if(!array_key_exists($key['label'], $array))
$array[$key['label']] = 0;
$array[$key['label']] += $key['name'];
}
假设值是您的示例中的整数。