3

希望获得多维数组中特定键=>值的计数。我有什么工作,即结果是正确的,但我似乎无法摆脱未定义索引通知。

$total_arr = array();

foreach($data['user'] as $ar) {
     $total_arr[$ar['city']]++;
}

print_r($total_arr);

有任何想法吗?我在 foreach 循环中尝试过 isset,但没有任何乐趣......

4

2 回答 2

5
$total_arr = array();

foreach($data['user'] as $ar) {
    if(array_key_exists($ar['city'],$total_arr) {
        $total_arr[$ar['city']]++;
    } else {
        $total_arr[$ar['city']] = 1; // Or 0 if you would like to start from 0
    }
}    

print_r($total_arr);
于 2013-10-24T14:10:48.143 回答
3

如果您的索引在被操作之前尚未初始化,PHP 将发出该通知。使用@符号来抑制通知或isset()与将为您初始化索引值的块结合使用。

于 2013-10-24T14:09:43.983 回答