所以我有這個簡單的功能,因爲我懶得寫出一個狀態下拉每次我需要一個。我已經有一個數組,其中包含所有設置的狀態,縮寫爲鍵和名稱作爲值。它工作得很好,但我喜歡寫簡潔,清晰,易讀的代碼,而且我仍然非常不習慣,所以我發現我錯過了很多愚蠢簡單的s ***(我自己付出的代價,而不是經常練習足夠)。書寫更清晰的代碼
我在兩個主要條件中看到冗餘代碼的四行,我將它們移到if語句之外,除了我有最後一個echo語句,這真的是條件的最終目的,我不認爲重新測試$style
變量是所有這些猶太教。
有沒有一個簡單的做法,我只是想如何使這個更清潔?
function create_state($style, $form = NULL) {
global $state;
echo '<select name="state">'."\n";
echo '<option value="">--</option>'."\n";
if ($style === 'abbr') {
ksort($state);
foreach ($state as $abbr => $name) {
echo "<option value=\"$abbr\"";
if($form === $abbr)
echo 'selected="selected"';
echo ">$abbr</option>\n";
}
} else {
asort($state);
foreach ($state as $abbr => $name) {
echo "<option value=\"$abbr\"";
if($form === $abbr)
echo 'selected="selected"';
echo ">$name</option>\n";
}
}
echo '</select>'."\n";
}
如果一切正常,你可能會尋找http://codereview.stackexchange.com/ – 13ruce1337 2014-09-04 02:13:01
本應在代碼審查發佈,不在這裏 – 2014-09-04 02:13:09
無論如何都有兩個快速提示:global - 在函數參數中解析它,在函數中回顯bad,連接輸出並將其作爲函數輸出返回 – 2014-09-04 02:14:43