php - PHP 的 array() 的缩写

标签 php arrays syntax performance syntactic-sugar

我不知道你怎么样,但我不太喜欢用 PHP 构造数组的方式。我有这种感觉,我经常使用 array 关键字,而 array($k => $v) 或例如鉴于 map 的实用性,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;
}

...但他们不允许使用 => 运算符。

还有其他想法吗?

最佳答案

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

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

现在可以写成:

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

关于php - PHP 的 array() 的缩写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1495490/

相关文章:

php - TCPDF:Pdf 顶部始终有一个 hr 行

php - 我的网站登录过程遇到问题

C - For 循环仅针对我修改的数组运行一次

javascript - 如何从数组中删除重复值?当数组中的对象属性未定义时,我的代码失败

list - 每次递增都会创建一个子列表的 Lisp 程序

javascript - 我可以使用 ID 作为变量名吗?

google-sheets - 如何在 Google Sheets 查询中从数组中选择特定列?

php - Paypal 从 php 中的支付 key 获取交易详细信息

php - 通过 PHP 发送推送通知

c++ - 扫描用户输入以查找数组中声明的字符串