2011-09-16 50 views
1

我不知道我是否可以在這裏提出這個問題。我通常會犯的錯誤,但...PHP和「數組json風格」,爲什麼不呢?

我每個人都希望PHP上的「數組json樣式」,如$a = [1, 2, $value];。但我讀到PHP開發人員對這種想法的討厭,因爲有太多人想要,他們認爲最好不要提供這個功能。

問題是:爲什麼? 我認爲這可能會與某些現有功能發生衝突,但我無法想到任何。

附加:有人知道什麼是PHP開發人員功能列表(它的介紹和討論)?

+3

'array(1,2,$ value)'對你來說不夠好嗎? – zzzzBov

+0

剛剛說'$ a = array(1,2,$ value);'是否真的有問題?唯一的區別是你把數組放在它之前,並使用圓括號而不是大括號。 –

+0

這是一個非常簡單的例子。但是,如果你使用鍵和多維,可能會更復雜:'[1,2,{3:4}]''array(1,2,array(3 =>​​ 4))' –

回答

5

有可能是這個will be added in PHP 5.4。正如你所看到的,所有非常重要的PHP開發人員Andrei Zmievski,Andi Gutmans和Rasmus Lerdorf都投票贊成新的語法。

您可以看到所有正在提議並在here上投票的功能請求。

+0

啊!!!大!謝謝,是我在尋找。 :) –

+1

然後你讀錯了:https://wiki.php.net/rfc/objectarrayliterals(在Tim Cooper的鏈接中找到) –

0

PHP根本沒有這種數組(即 - 用數字索引的元素序列)。對一些不存在的東西進行標記會很奇怪。

沒有PHP的數組類型 - 在JSON中 - 看起來像這樣:{a:「asd」,b:「sdsfsdf」}。這是因爲我們在PHP中擁有的是兩者的混合體:一個數組同時用整數和字符串索引。這兩個符號看起來沒有說服力(或可接受爲JSON):

$a = ["a","b", 36=>"test", "name"=>"Filip"]; 
$b = {"name": "Filip", 36: "test"} 
0

一個'爲什麼不',冗餘的附加語法。