【问题标题】:PHP and "array json style", why not? [closed]PHP 和“数组 json 样式”,为什么不呢? [关闭]
【发布时间】:2011-09-16 16:28:24
【问题描述】:

我不知道我是否可以在这里问这个问题。我通常会出错,但是...

我每个人都想要 PHP 上的“数组 json 样式”,例如 $a = [1, 2, $value];。但我读到 PHP 开发人员讨厌这个想法,因为太多人想要,他们认为最好不要提供这个功能。

问题是:为什么? 我认为这可能与某些现有功能发生冲突,但我想不出。

附加:有人知道什么是 PHP 开发功能列表(在哪里介绍和讨论)?

【问题讨论】:

  • array(1,2,$value) 还不够好?
  • 只说$a = array(1, 2, $value);真的有什么问题吗?唯一的区别是您将数组放在它前面并使用括号而不是花括号。
  • 这是一个非常简单的例子。但是如果你使用键和多维,可能会更复杂:[1, 2, {3: 4}] vs. array(1, 2, array(3 => 4))
  • PHP 开发人员讨厌这个想法,因为太多人想要 ...这似乎没有意义。提供的链接@Tim 中给出了赞成和反对的原因。不过,我认为这个问题并不适合 SO。
  • 相关但明显过时的问题:Does PHP feature short hand syntax for objects?

标签: php arrays json


【解决方案1】:

这可能是will be added in PHP 5.4。如您所见,Andrei Zmievski、Andi Gutmans 和 Rasmus Lerdorf,他们都是 PHP 开发中非常重要的人,都对新语法投了赞成票。

您可以查看所有在here 上提出和投票的功能请求。

【讨论】:

【解决方案2】:

PHP 根本没有这种数组(即,以数字为索引的元素序列)。为不存在的事物加上符号会很奇怪。

PHP 也没有那种数组——在 JSON 中——看起来像这样:{a:"asd",b:"sdsfsdf"}。这是因为我们在 PHP 中拥有的是两者的混合体:一个同时使用整数和字符串索引的数组。并且这两种表示法看起来都不令人信服(或者作为 JSON 可以接受):

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

【讨论】:

    【解决方案3】:

    一个“为什么不”,多余的附加语法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-08
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      • 2017-11-24
      相关资源
      最近更新 更多