2009-09-29 70 views
2

我不知道你怎麼樣,但我不喜歡數組在PHP中構造的方式。我有這種感覺,我經常使用array關鍵字的方式,而array($k => $v)或考慮到地圖的有用性,array($k1=>array($k2=>$v))太長了。 (此外,最近我學到JS way of doing it,現在我真的很嫉妒)PHP的數組的縮寫()

我能想出的最好的補救是這樣的:

function a() { // array 
    return func_get_args(); 
} 

..但他們不允許使用=>運營商。

還有其他想法嗎?

+1

陣列從來沒有真正覺得陣列給我。對我來說一個數組是嚴格的一維無鍵元素列表。好吧.. – 2009-09-29 23:53:53

回答

8

PHP 5.4開始,使用[]支持shorthand syntax for arrays。你的例子:

array($k => $v) 
array($k1=>array($k2=>$v)) 

現在可以寫爲:在PHP

[$k => $v] 
[$k1 => [$k2 => $v]] 
3

在PHP中沒有用於聲明數組的簡寫語法。這是我希望看到的功能,但我非常懷疑它會發生。

PHP開發人員和PHP社區討論了很多,但從未實現。如果您想了解討論如何展開,請訪問PHP wiki:http://wiki.php.net/rfc/shortsyntaxforarrays

現在,您將不得不忍受一些額外字符的輸入。

0

使用Texter或任何像樣的編輯器與模板/宏。例如:

[]+Tab ---> array({cursor}) 

如果你是真正的癡迷,使json_decode宏運行通過這樣的選擇:

<?php var_export(json_decode(stream_get_contents(STDIN), true)); 

只是不要把JSON在PHP代碼,因爲你寧願看在JSON ...