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年・・・