我不知道你怎么样,但我不太喜欢用PHP构建数组的方式。我有这种感觉,我过于频繁地使用array
关键字,array($k => $v)
或者例如鉴于地图的实用性,array($k1=>array($k2=>$v))
太长了。
(而且,最近我学会了JS way of doing it,现在我真的很嫉妒)
我能想出的最好的解决方法是:
function a() { // array
return func_get_args();
}
和
function h() { // hash
$array=array();
for($i=0; $i<func_num_args()-1; $i+=2) {
$array[func_get_arg($i)]=func_get_arg($i+1);
}
return $array;
}
...但他们不允许使用=>
运算符。
还有其他想法吗?
答案 0 :(得分:8)
从PHP 5.4开始,使用[
和]
支持shorthand syntax for arrays。你的例子:
array($k => $v)
array($k1=>array($k2=>$v))
现在可以写成:
[$k => $v]
[$k1 => [$k2 => $v]]
答案 1 :(得分:3)
在PHP中声明数组没有简写语法。这是我希望看到的一个功能,但我非常怀疑它会发生。
PHP开发人员和PHP社区对此进行了很多讨论,但它从未实现过。如果您想在PHP维基上看到讨论如何展开,那么这是一个很好的起点:http://wiki.php.net/rfc/shortsyntaxforarrays
现在,您将不得不忍受输入一些额外的字符。
答案 2 :(得分:0)
使用Texter或任何体面的编辑器与模板/宏。 E.g:
[]+Tab ---> array({cursor})
如果您真的很痴迷,请创建一个json_decode宏来运行选择:
<?php var_export(json_decode(stream_get_contents(STDIN), true));
只是不要将JSON放在PHP代码中,因为你宁愿看JSON ......