这就是我的意思。目前我必须:
$str = "foo-bar";
$foo = explode("-",$str);
$foo = $foo[0];
我想做的是:
$str = "foo-bar";
$foo = explode("-",$str)[0];
但这是一个语法错误!还有另一种方法可以在一条线上完成吗?
编辑:只想表明我也希望能够做到
$str = "foo-bar-baz";
$bar = explode("-",$str)[1];
以及。
答案 0 :(得分:5)
list($foo) = explode('-', $str);
答案 1 :(得分:4)
或者你可以这样做:
$foo = array_shift(explode("-", $str));
[编辑]由于问题已经改变,现在这是一个非常脏的方法:
list(,$foo) = explode("-", $str); // Add as many commas as needed to get the proper index
答案 2 :(得分:0)
另一种选择:
$foo = current(explode("-", $str));
答案 3 :(得分:0)
$foo = explode("-",$str) and $foo = $foo[0];
但是说真的:这没有简写符号。你可以在一条线上以几种不同的方式做到这一点,但没有一条像你已经拥有的两线解决方案那样具有描述性和简洁性。