由於尺寸沒有變化,其存儲:
$size = sizeof($customers_table);
for ($i = 0; $i < $size; $i++) {
echo '<option value="'.$customers_table[$i]['id'].'">'.$customers_table[$i]['email'].'</option>';
}
然後你就可以縮短循環條件,降低了數組訪問:
$i = $size = sizeof($customers_table);
while ($i) {
$table = $customers_table[$size-$i--];
echo '<option value="'.$table['id'].'">'.$table['email'].'</option>';
}
接下來的部分是回聲聲明,可以只輸出,而不是在輸出它們之前進行協調字符串:
$i = $size = sizeof($customers_table);
while ($i) {
$table = $customers_table[$size-$i--];
echo '<option value="', $table['id'], '">', $table['email'], '</option>';
}
如果這使得不同你需要指標。最大的時間可能是您發送給瀏覽器的HTML數量。但是這將超出這個片段的範圍。
提高代碼的整體可讀性我建議使用foreach
:
foreach ($customer_table as $row)
{
echo '<option value="', $table['id'], '">', $table['email'], '</option>';
}
這通常是相當快爲好。
除非您使用自動完成功能,否則肯定會在選擇框中有成千上萬的選項不會對用戶友好? – Andy 2012-04-14 15:47:54
不要在for語句中創建'sizeof()',而是使用該值創建一個變量,所以不會在每個循環調用中調用它。但這只是一個微不足道的優化,因爲我認爲PHP本身就會插入這樣的弱點。你必須在更大的範圍內看到你的腳本。 – 2012-04-14 15:49:27