php数组中的未定义索引

时间:2013-10-24 14:07:23

标签: php arrays codeigniter

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

$total_arr = array();

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

print_r($total_arr);

有什么想法吗?我在foreach循环中尝试了isset,但没有快乐......

2 个答案:

答案 0 :(得分:4)

$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);

答案 1 :(得分:3)

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