是否有PHP设置可以设置是否可以对函数的结果编制索引?

| 我有两台服务器。他们都在运行PHP 5.3.3。此代码可在一台服务器上工作,而在另一台服务器上返回语法错误。有没有影响该行为的php ini设置?我在PHP文档中找不到任何相关内容,但可能在错误的位置。 服务器1
> php -v
PHP 5.3.3 (cli) (built: Sep 23 2010 14:15:16) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Xdebug v2.0.3, Copyright (c) 2002-2007, by Derick Rethans

php > echo explode(\" \", \" foo \")[1];
foo
服务器2
> php -v
PHP 5.3.3 (cli) (built: Jan 31 2011 15:57:29) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

php > echo explode(\" \", \" foo \")[1];
Parse error: syntax error, unexpected \'[\', expecting \',\' or \';\' in php shell code on line 1
另一个想法:两台服务器上的PHP是自定义编译的,因此它也可以是不同的编译标志。     
已邀请:
        没有。 PHP不支持此语法。它在主干上,但尚未发布(从PHP 5.3.3开始)。 我不知道它如何在您的第一台服务器上运行,但是也许这个“ Xdebug”正在有所作为?     
        啊哈!我想到了。 我们安装了Facebook的XHP来配置我们的开发服务器。此语法(非常优雅)已添加到PHP模块中。这是服务器1和2之间的php.ini文件的区别:
> ; XHP https://github.com/facebook/xhp/wiki/Building-XHP
> extension=xhp.so
> ; adds support for the [] operator on the return value of a function
> xhp.idx_expr = 1
> ;  Tracking errors in XHP applications is very difficult without annotations.
> xhp.include_debug = 1
我喜欢这种语法,因此我可能会在其他服务器上安装XHP。感谢您的帮助,Michas建议我比较一下ini文件。     

要回复问题请先登录注册