【发布时间】:2011-09-07 04:48:09
【问题描述】:
为什么我不能这样做?
explode(',','1,2,3', 1)[0]
所有其他语言都支持它。
我正在寻找的答案:(因为人们似乎认为这是毫无意义的咆哮)
我应该注意变量和返回值的行为方式之间是否存在某种差异?
这是一个设计决定吗?他们只是懒惰吗?语言的构建方式是否有一些东西使得它非常难以实现?
【问题讨论】:
-
因为语言解析器不支持。 PHP 5.4 可能会添加它。 -- 在那之前,还有a few fiddly workarounds。
-
“其他所有语言”,嗯?无论如何,这个“问题”实际上只是一个咆哮。你知道这是不可能的,所以这个问题没有有用的答案。
-
@Tomalak:不是这样。我对 PHP 及其工作原理可能存在根本性的误解。例如,它可能会返回与我预期不同的东西;变量的行为方式和返回值的行为方式之间可能存在一些差异。
-
在 imo 上的咆哮似乎并没有那么糟糕。如果它将在较新版本的 PHP 中实现,这可能是一个不错的功能。
(new Obj())->method();也一样 -
这个问题经过编辑以提供澄清,因此可能不再需要早期的接近投票(包括我的)。我正在投票重新开放。
标签: php language-design language-features