2012-10-05 60 views
1

我有一個複選框的列表以及他們在表單中輸出的標籤。 html的要求有點複雜,所以我要循環使這個更少。在這種情況下使用關聯數組還是標準數組更好?

但是,我不知道如果我使用:

$array[] = array("Label1", "CheckboxHTML1"); 
$array[] = array("Label2", "CheckboxHTML2"); 
$array[] = array("Label3", "CheckboxHTML3"); 
$array[] = array("Label4", "CheckboxHTML4"); 

//output 
foreach($array as $current) 
{ 
    //complicated html 
    echo "<label>$current[0]</label>$current[1]"; 
} 

或者:

$array["Label1"] = "CheckboxHTML1"; 
$array["Label2"] = "CheckboxHTML2"; 
$array["Label3"] = "CheckboxHTML3"; 
$array["Label4"] = "CheckboxHTML4"; 

foreach($array as $key => $checkbox) 
{ 
    //complicated html 
    echo "<label>$key</label>$checkbox[1]"; 
} 

是否有一個比其他任何更大的效益?我很擔心使用關聯數組,因爲一些標籤字符串很長,我不確定這是否會導致任何問題。

+0

實際上,除非你有成千上萬的元素,否則你不會在性能上看到任何細微的差異,不管你覺得什麼樣的感覺更自然。 – Mahn

回答

3

就密鑰的長度而言,您不會有任何問題。作爲一般的經驗法則,當你知道你的時候,最好使用關聯數組,因爲開發人員可能想在將來基於它的名字訪問數據。

2

PHP中的字符串大小沒有限制。 String can be as large as 2GB.

我認爲可以假設這適用於數組。我的意思是使用字符串作爲鍵。

我想你應該走這條路最適合你。我正在選擇關聯數組。

2

你應該在每種情況下做任何最自然的事情。存在關聯數組,以便您可以通過鍵高效地檢索項目; 如果你打算這樣做,那麼使用它們

確實,當數組構造時,幾乎可以肯定長鍵會影響性能,但「非常長」的定義對人類和編譯器來說並不相同。

相關問題