配列文字置換の決まり

PHP小技
<select name="s_year">
<option value="">--</option>
<option value="2007">2007</option>
<option value="2008">2008</option>
<!-- ~略~ -->
</select>
年
<select name="s_month">
<option value="">--</option>
<option value="01">01</option>
<option value="02">02</option>
<!-- ~略~ -->
</select>
月
<select name="s_day">
<option value="">--</option>
<option value="01">01</option>
<!-- ~略~ -->
</select>
日
<select name="s_hour">
<option value="">--</option>
<option value="01">01</option>
<option value="02">02</option>
<!-- ~略~ -->
</select>
時
<select name="s_minute">
<option value="">--</option>
<option value="01">01</option>
<option value="02">02</option>
<!-- ~略~ -->
</select>
分
<select name="s_second">
<option value="">--</option>
<option value="01">01</option>
<option value="02">02</option>
<!-- ~略~ -->
</select>
秒

を初期値『--』を年だけ4桁『0000』、他2桁『00』にしたいとする。

その場合、

$ArrHash = array(
'_year">'."\n".'<option value="">--<'=>'_year">'."\n".'<option value="0000">0000<',
"s_"=>"new_",
"--"=>"00",
'""'=>'"00"',
);
$sel_ymd = strtr($sel_ymd,$ArrHash);

だと出来ない。
『s_year』が『new_year』にならないし、s_yearの『--』が『0000』ではなく『00』になってしまう。
どうにも一括変換らしい。
だから

$ArrHash = array(
'_year">'."\n".'<option value="">--<'=>'_year">'."\n".'<option value="0000">0000<',
);
$sel_ymd = strtr($sel_ymd,$ArrHash);// 先
$ArrHash = array(
"s_"=>"new_",
"--"=>"00",
'""'=>'"00"',
);
$sel_ymd = strtr($sel_ymd,$ArrHash);// 後

とすればいい。

コメント

タイトルとURLをコピーしました