PHP检查assoc数组的键,如果存在,则将值提高1

时间:2019-06-04 19:48:43

标签: php

这就是我到目前为止所拥有的:

foreach ($users as $user) {
            if (!array_keys($usersPerCity, $user->city)){
                $usersPerCity[]=[$user->city => 1];
            }else{
                $usersPerCity[$user->city] = ($usersPerCity[$user->city] + 1);
            }
        }

我的+1的作用为0,它只是创建城市=> 1而无需添加。 我将如何汇总已经存在的城市?

1 个答案:

答案 0 :(得分:2)

您以正确的方式在<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name>Archetype Created Web Application</display-name> </web-app> 中拥有了它。另外,这不是else的目的,您是说array_keys吗?无论如何,只要使用array_key_exists,就可以增加isset

++

从PHP 7.0开始,只需从对象数组中提取foreach ($users as $user) { if (!isset($usersPerCity[$user->city])){ $usersPerCity[$user->city] = 1; } else { //$usersPerCity[$user->city] = ($usersPerCity[$user->city] + 1); $usersPerCity[$user->city]++; } } 并计算值:

city