array_margeは便利だと思う。
$attributes = array( 'var1' => 'aaa', 'var3' => 'bbb', ); $defaults = array( 'var1' => null, 'var2' => null, 'var3' => '-', 'var4' => '-', 'var5' => '-', ); $attributes = array_merge($defaults, $attributes); echo '<PRE>'; print_r($attributes); echo '</PRE>';
実行結果↓
Array ( [var1] => aaa [var2] => [var3] => bbb [var4] => - [var5] => - )
配列にデフォルト設定するとき良く使う。
ちなみに、配列のキーの差分を取得するarray_diff_keyも便利です。
$attributes = array( 'var1' => 'aaa', 'var3' => 'bbb', 'var6' => 'ccc', ); $defaults = array( 'var1' => null, 'var2' => null, 'var3' => '-', 'var4' => '-', 'var5' => '-', ); $attributes = array_diff_key($attributes, $defaults); echo '<PRE>'; print_r($attributes); echo '</PRE>';
実行結果↓
Array ( [var6] => ccc )
PHPを使い始めてそろそろ1年・・・