Parse error on explode('-','foo-bar

2019-01-20 13:40发布

Why doesn't php support this syntax:

$s = explode('-', 'foo-bar')[0];

?

标签: php parsing
4条回答
霸刀☆藐视天下
2楼-- · 2019-01-20 14:15

Instead you could use this if you'r force to use inline : substr($var,0, strrpos($var,'-')); But I prefer the list solution , it's more elegant !


查看更多
Fickle 薄情
3楼-- · 2019-01-20 14:22

You can write it using list:

list($first_value) = explode(‘-’,‘foo-bar’);
查看更多
做个烂人
4楼-- · 2019-01-20 14:23

The syntax ‘foo-bar’)[0] is wrong as far as php is concerned. I don't know which language you have seen such thing in but PHP has no implementation for such syntax. However, you can split your string like this:

explode(‘-’, ‘foo-bar’);
查看更多
贪生不怕死
5楼-- · 2019-01-20 14:28

It's a limitation in the PHP parser. There's no reason why it can't support this form of reduction, it just doesn't.

查看更多
登录 后发表回答