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 に答える