为什么php不支持这种语法:
$s = explode('-', 'foo-bar')[0];
答案 0 :(得分:8)
这是PHP解析器的一个限制。它没有理由不能支持这种形式的减少,它只是没有。
答案 1 :(得分:5)
您可以使用list
编写它:
list($first_value) = explode(‘-’,‘foo-bar’);
答案 2 :(得分:0)
就php而言,语法‘foo-bar’)[0]
是错误的。我不知道你看到过哪种语言,但PHP没有这种语法的实现。但是,您可以像这样分割字符串:
explode(‘-’, ‘foo-bar’);
答案 3 :(得分:0)
相反,如果您强制使用内联,则可以使用此方法: substr($ var,0,strrpos($ var,' - ')); 但我更喜欢列表解决方案,它更优雅!