我想知道是不是很好,如果我們保持一個空字符串作爲數組鍵,這樣將空字符串保存爲數組鍵是否正確?
$test = array (
'' => 'Select',
1 => 'Internal',
2 => 'External'
);
任何建議,將不勝感激。
我想知道是不是很好,如果我們保持一個空字符串作爲數組鍵,這樣將空字符串保存爲數組鍵是否正確?
$test = array (
'' => 'Select',
1 => 'Internal',
2 => 'External'
);
任何建議,將不勝感激。
這將工作正常,但不是很好的做法。例如,如果你需要檢查數組的null鍵,那麼這個空字符串將返回true。這種方法會導致其他嚴格類型的語言,如Java和C語法錯誤。因此,它更好地避免這種編碼:)
數組鍵應該是一個整數或字符串。
作爲數組鍵處理空字符串遠非理想實踐。
也空將轉換爲空字符串,即密鑰null實際上將存儲在「」。
但是這樣的方法會讓你的數組模糊和不穩定。
請看下面的例子:
$test = array (
'' => 'Select',
1 => 'Internal',
2 => 'External',
'' => 'select'
);
var_dump(array_key_exists('', $test)); // output 'bool(true)', not so bad - but only at first glance
下一個案件涉及到歧義:
var_dump($test[""]); // output "select"
最後的例子就是錯誤(通知):
var_dump((object) $test);
// output: object(stdClass)#1 (3) { E_NOTICE : type 8 -- Illegal member variable name -- at line 12 [""]=> string(6) "select" [1]=> string(8) "Internal" [2]=> string(8) "External" }
你使我的概念清晰。 –
檢查此http:/ /stackoverflow.com/questions/18247412/arrays-with-null-keys – Drudge
在這種情況下,它看起來非常好。通常在填充'