php で連想配列のデフォルト値

php の $_GET や $_POST でデフォルト値を持ちたい時メモ

$_GET から パラメータ url のデフォルト値を設定したい場合の例

その都度
$url = ( array_key_exists("url", $_GET) ) ? $_GET["url"]:"http://default/";
※isset は $_GET["url"] = NULL の時に false を返してしまいます

まとめて最初に
$default = array('url' => 'http://default/', 'timeout' => '5000');
$params  = array_intersect_key($_GET, $default) + $default
// :
$url = $params['url'];

コメント