php - PHP数组:条件和
问题描述
我有一个看起来像这样的数组:
$array = array("a1" => 0, "a2" => 2, "a3" => 1, "b1" => 2, "b2" => 3);
当只考虑第一个字符时,我想对每个“唯一”键的值求和。结果应该是:
$newarray = array("a" => 3, "b" => 5);
我尝试在另一个 foreach() 循环中使用 foreach() 循环,如下所示:
foreach ($xml->children() as $output) {
foreach ($array as $key => $value) {
if (substr($key,0,1) == $output->KEY) {
$sum += $value; echo $sum;
}
}
}
它不起作用,因为结果显然添加了先前的计算。
解决方案
简单的解决方案:
$final_array=[];
foreach($array as $key=>$value){
$final_array[$key[0]] = (isset($final_array[$key[0]])) ? $final_array[$key[0]]+$value : $value;
}
print_r($final_array);
推荐阅读
- c# - 无法通过命令将值从视图传递到视图模型
- google-cloud-speech - 有没有办法使用 Google Cloud Speech 生成 SRT 文件(或类似文件)?
- html - 如何使用css在垂直方向上用30%的不同颜色和70%的不同颜色划分div颜色
- oracle - oracle月年临时表
- java - keytool 错误:java.lang.IllegalArgumentException:publicKey 不是 X.509,而是 OpenJDK 1.8.162 中的 X509
- c# - 为什么 Word 的撤消记录不适用于某些操作?
- c - 如何将文本文件读入结构并与其成员交互?
- python - 未调用张量流映射函数
- scala - 在 Spark Scala 中转置 DataFrame 列
- python - 使用 Petl 读取 XML 文件