简化多个回声 [英] Simplifying multiple echos
本文介绍了简化多个回声的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在选择菜单中有完整的时区列表,如下所示:
I have a full list of timezones in a select menu like so:
<option value="Pacific/Kosrae"> Pacific/Kosrae( +11:00 GMT ) </option>
<option value="Pacific/Kwajalein"> Pacific/Kwajalein( +12:00 GMT ) </option>
<option value="Pacific/Majuro"> Pacific/Majuro( +12:00 GMT ) </option>
<option value="Pacific/Marquesas"> Pacific/Marquesas( -09:30 GMT ) </option>
<option value="Pacific/Midway"> Pacific/Midway( -11:00 GMT ) </option>
该列表将永久存在。
我想将每个选项更改为以下格式:
I want to change each of the options into this format:
if($_SESSION['timezone'] == 'Africa/Abidjan') {
echo '<option selected="selected" value="Africa/Abidjan"> Africa/Abidjan( +00:00 GMT ) </option>';
} else {
echo '<option value="Africa/Abidjan"> Africa/Abidjan( +00:00 GMT ) </option>';
}
如何使用php避免复制粘贴和编辑每个手动选项??
How can I use php to avoid having to copy paste and edit each of the options manually??
推荐答案
将数据存储在某些数据结构中,并使用循环。例如,使用从时区名称到抵消的地图:
Store the data in some data structure, and use a loop. For example, using a map from timezone name to offset:
$timezones = array(
'Pacific/Kosrae' => '+11:00',
'Pacific/Kwajalein' => '+12:00',
...
);
foreach($timezones as $name => $offset) {
echo "<option value=\"$name\"" . ($name == $_SESSION['timezone'] ? " selected" : "") . ">$name( $offset GMT ) </option>\n";
}
这篇关于简化多个回声的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文