php - PHP 检查 assoc 数组的键,如果存在,将值提高 1
问题描述
所以这就是我到目前为止所拥有的:
foreach ($users as $user) {
if (!array_keys($usersPerCity, $user->city)){
$usersPerCity[]=[$user->city => 1];
}else{
$usersPerCity[$user->city] = ($usersPerCity[$user->city] + 1);
}
}
我的 +1 有 0 效果,它只是简单地创建 city => 1 而没有添加。我如何能够聚合已经存在的城市?
解决方案
你else
以同样的方式做对了。另外,这不是array_keys
目的,你的意思是array_key_exists
?无论如何,只需使用isset
,您就可以增加++
:
foreach ($users as $user) {
if (!isset($usersPerCity[$user->city])){
$usersPerCity[$user->city] = 1;
} else {
//$usersPerCity[$user->city] = ($usersPerCity[$user->city] + 1);
$usersPerCity[$user->city]++;
}
}
从 PHP 7.0 开始,只需city
从对象数组中提取并计算值:
$usersPerCity = array_count_values(array_column($users, 'city'));
推荐阅读
- oracle - PL SQL 代码 **ORACLE **
- javascript - 使用不带 JQUERY的箭头标记水平滚动 div 图像
- python - 在全局声明之前使用名称“余额”
- centos7 - vsftpd 不会启动 - 没有错误信息
- java - 类型不匹配:无法从元素类型 Object 转换为 List
- excel - 从工作表 1 引用工作表 2 中的单元格,但在工作表 1 中每次向下拖动时索引该行
- ios - Swift 4 - 使用 UITableView 解析 Xml
- ios - ARKit - 如何使 3d 模型有光泽?
- javascript - jQuery向下滑动div - 单击回调时消失
- python - 从python中的多个字典创建json文件