我對之前的文章感到相當驚訝。以下是我的建議
1/ 建議使用 count() 函式而不是 sizeOf(),因為 sizeOf() 只是 count() 的別名,而且在許多其他基於 C 的語言中含義不同(避免歧義)。
2/ 建議使用功能強大的 forEach() 函式來迭代陣列。
我對之前的文章感到相當驚訝。以下是我的建議
1/ 建議使用 count() 函式而不是 sizeOf(),因為 sizeOf() 只是 count() 的別名,而且在許多其他基於 C 的語言中含義不同(避免歧義)。
2/ 建議使用功能強大的 forEach() 函式來迭代陣列。
我建議不要使用 sizeof()。許多程式設計師預期 sizeof() 會返回配置的記憶體量。但實際上,sizeof() 如上所述,只是 count() 的別名。
為了避免誤解,請使用 count()。
如果你的陣列「很大」
建議針對這種情況先設定一個變數
這樣 ->
$max = sizeof($huge_array);
for($i = 0; $i < $max;$i++)
{
程式碼...
}
比這樣更快 ->
for($i = 0; $i < sizeof($huge_array);$i++)
{
程式碼...
}
a) 盡量使用 PHP 的內建函式來迭代各種类型的物件(以下大多數範例中的陣列)。
它們使用自己的內部函式,而不是解譯你的程式碼來迴圈執行,速度要快得多。
(這就是為什麼 foreach () 比手動迭代更快的原因)
b) 將盡可能多的靜態結果函式放在迴圈之外始終是一個好習慣,在迴圈的每次迭代中都執行返回完全相同資料的操作對資源來說並不理想。
c) 我同意 PixEye 關於 sizeof() 的說法。在 PHP 中,它只是真正函式 count() 的別名。在其他語言中,它的邏輯含義與物件中的元素數量不同。應該避免使用它,因為它可能會讓從其他語言轉向 PHP 的開發人員感到困惑。