2010年2月3日水曜日

PHPの配列でちょっと楽がしたくって。。。

集計とかする時にNOTICEエラーが

+=演算子を使う時に、あらかじめ用意されてないキーを指定するとNOTICEエラーが出るんですよね。NOTICEレベルだからいいとは言っても目障りだし、header関数の邪魔をするし、NOTICEレベルのエラーも回避せよ!なんて命令された日には大変ですよね。なので。。。

$array = ('a' => 0,'b' => 0,'c' => 0,....);
//こういう一々丁寧に書くのはやめてこう書く
$keys = explode(',', 'a,b,c,d,e,f,g....');
//5.2以前
foreach($keys as $key){ $array[$key] = 0;}
//5.2以降
$array = array_key_fill($keys, 0);

こうすると、やたら長いキーや、キーが多い時、追加したい時が非常に楽なのでおすすめです。嫌う人もいそうだけど。

5.2.0以降はarray_fill_keys関数があるんですね。便利!

0 件のコメント: