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

如何在PHP中使用explode并获取一行中的第一个元素?,php,arrays,Php,Arrays,这就是我试图做的,只是它返回语法错误。如果有一条班轮的解决办法,请告诉我。如果这是不可能的,请解释。为此使用array\u shift(): $beforeDot = explode(".", $string)[0]; 您可以为此使用: $beforeDot = array_shift(explode(".", $string)); 如果需要第二个(或第三个等)元素,也可以使用此选项: 但是这可能会变得非常笨拙。是在PHP5.4中实现的,因此如果您使用的是旧版本,您必须用另一种方式来实现 下

这就是我试图做的,只是它返回语法错误。如果有一条班轮的解决办法,请告诉我。如果这是不可能的,请解释。

为此使用
array\u shift()

$beforeDot = explode(".", $string)[0];
您可以为此使用:

$beforeDot = array_shift(explode(".", $string));
如果需要第二个(或第三个等)元素,也可以使用此选项:

但是这可能会变得非常笨拙。

是在PHP5.4中实现的,因此如果您使用的是旧版本,您必须用另一种方式来实现

下面是一个简单的方法:

list($_, $second) = explode(".", "foo.bar");
echo $second; // bar
在php中,要在分解后获得第一个位置,请使用:

$beforeDot = explode(".", $string);
$beforeDot = $beforeDot[0];

2020年:谷歌把我带到这里来做类似的事情

将“爆炸”与“内爆”配对以填充变量

分解->在分隔符处将字符串拆分为数组
内爆->将第一个数组元素中的字符串放入变量

$beforeDot = current(explode(".", $string));
将以字符串形式显示“ABC”。
根据字符串特征调整explode中的limit参数。

您使用的是什么PHP版本?数组去中心化首先添加到5.4 AFAIK中。您意识到PHP版本5.1.4已经有8年历史了,并且正式废除了(不受支持)
严格的标准:只能通过引用传递变量。
:另外,如果
[0]
不适用于
explode()
则OP具有PHP<5.4.0,并且它不适用于
数组值()
@abracadver:我已经理解了,正在阅读关于
5.4版本的手册,谢谢大家:)更新。喜欢这一行!非常感谢!谢谢请注意,“重置”将有助于确保指针始终位于第一个元素,并且返回的子字符串是第一个元素,但在这里(对于单行程序),它将不起作用,因为它无法在其参数中接受函数。不幸的是,这将返回
“ABC66778899”
如果输入字符串包含多个
,如
$str=“ABC.66778899.ext”
explode()
中的
-1
基本上只从“explode”操作生成的数组中删除最后找到的元素。@cars10m-这就是为什么我在回答中提到->根据字符串特征调整explode中的limit参数。
$beforeDot = explode(".", $string);
$beforeDot = $beforeDot[0];
$beforeDot = current(explode(".", $string));
$str = "ABC.66778899";
$first = implode(explode('.', $str, -1));