我有一个像

$string="abc @def @xyz $ @def @xyz";

现在我想获取$之前@的最后一次出现的索引。

目前我正在使用
strrpos($string,'@');

strrpos的第三个参数将是开始索引,我们可以给出结束索引吗?

最佳答案

使用strrpos可以获得最后一次出现。有关function.strrpos的更多信息

出于您的目的,您需要使用$爆炸字符串,并为爆炸数组的第一个strrpos启动index应用程序。

试试这个:

$string="abc @def @xyz $ @def @xyz";
$strArr = explode('$', $string);
$pos = strrpos($strArr[0], "@");

if ($pos === false) { // note: three equal signs
    echo 'Not Found!';
}else
    echo $pos; //Output 9 this case

09-20 02:17