【发布时间】:2011-05-16 06:19:11
【问题描述】:
这个问题只是为了好玩,也许是学习一个 PHP 速记技巧(如果存在) 假设我有这个代码:
$item = $this->get_item($id);
$item = $this->prepare_items(array($item));
$item = $item[0];
默认情况下,*prepare_items* 函数接受一个项目数组并返回它们并进行一些修改,所以如果我只想在一个项目上调用它,我应该将它推入一个像上面一样的数组中,但是我必须拉出我创建的数组中的项目。
那么有没有一种速记方法可以做到这一点,例如:
$item = $this->_prepare_items_output(array($item))[0];
// OR
$item = ($item = $this->_prepare_items_output(array($item)))[0];
另外,如果您有一组 PHP 提示和技巧的链接,那就太好了。
【问题讨论】:
-
PHP 不在返回值时支持内联数组索引有什么特别的原因吗?我对编译器设计一无所知,但我用过的许多其他语言似乎都支持这一点。
-
我怀疑是最初的懒惰,随后是必须保持愚蠢或破坏太多现有代码的语法规则(因为这是语法错误,而不是语义问题)。
标签: php