如何在PHP中使用explode并获取第一行元素?

use*_*884 8 php arrays

$beforeDot = explode(".", $string)[0];
Run Code Online (Sandbox Code Playgroud)

这是我试图做的,除了它返回语法错误.如果有一个班轮的解决方法,请告诉我.如果无法做到这一点,请解释.

lso*_*uza 9

功能数组语法是PHP 5.4中实现,因此,如果您使用的是旧版本,你必须做的另一种方式.

这是一个简单的方法:

$beforeDot = array_shift(explode('.', $string));
Run Code Online (Sandbox Code Playgroud)


ale*_*exn 8

您可以使用列表:

list($first) = explode(".", "foo.bar");
echo $first; // foo
Run Code Online (Sandbox Code Playgroud)

如果您需要第二个(或第三个等)元素,这也有效:

list($_, $second) = explode(".", "foo.bar");
echo $second; // bar
Run Code Online (Sandbox Code Playgroud)

但那可能会变得非常笨拙.


小智 7

使用current(),在爆炸后获得第一个位置:

$beforeDot = current(explode(".", $string));
Run Code Online (Sandbox Code Playgroud)