我在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)
答案 0 :(得分:2)
在循环中使用isset检查:
e.g。
foreach($array as $key => $value) {
if (isset($otherarray[$key])) {
$otherarray[$key] += $value;
} else {
$otherarray[$key] = $value;
}
}
答案 1 :(得分:0)
类似的东西:
foreach ($value as $key ) {
if (isset($array[$key[label]]) {
$array[$key[label]] += $key[name];
} else {
$array[$key[label]] = $key[name];
}
}
哦......实际上你应该将label
包装在引号内,或者它是一个变量,你应该在前面添加$。
答案 2 :(得分:0)
foreach ($value as $key ){
if(!array_key_exists($key['label'], $array))
$array[$key['label']] = 0;
$array[$key['label']] += $key['name'];
}
假设值是整数,如示例所示。