2010年 2月 17日 はてなブックマーク -
タグ: #PHP

連想配列の存在しないキーにアクセスした際のPHP警告を回避する 15:40

php連想配列アクセスする場合、指定したキーが存在しない場合に警告が出てしまいます。

警告やエラーをログファイルに蓄積している場合は無駄にファイルが膨らんで何かと面倒です。

<?php
 $emp = array("id" => "morningmist7", "name" => "takashi", "Addr" => "Sendai");
 echo $emp['tel'];
?>

エラーには以下のように記録されます。

PHP Notice: Undefined index: tel in /home/php/hoge.php on line 4


というわけで、配列アクセスした時、キーが存在しない場合はNULLを返すような関数を作っておきます。

function agv($array, $key, $default = NULL) {
  return isset($array[$key]) ? $array[$key]: $default;
}

これで安全に連想配列アクセス可能。

<?php
 $emp = array("id" => "morningmist7", "name" => "takashi", "Addr" => "Sendai");
 echo agv($emp, "tel");
?>

連想配列の存在しないキーにアクセスした際のPHP警告を回避する - Developer☆STYLE

毎回!empty()やisset()のif文を用意せずにこうする方法もありますね。


2年前 | | 2010年 2月 17日 | このエントリーを含むはてなブックマーク