配列文字置換の決まり

<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をコピーしました