在php中反向的strpos函数

时间:2012-10-21 19:57:35

标签: php string strpos

反向的

strpos函数

我想找到一种方法,我可以在其中找到反向的字符位置。例如,最后“e”反向开始计数。

来自示例

$string="Kelley";
$strposition = strpos($string, 'e');

它会给我1号位置。

8 个答案:

答案 0 :(得分:25)

int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

在haystack字符串中查找最后一次出现针的数字位置。

http://php.net/manual/en/function.strrpos.php

答案 1 :(得分:5)

您需要strrpos来查找字符串中最后一个子字符串的位置

$string = "Kelley";
$strposition = strrpos($string, 'e');
var_dump($strposition);

答案 2 :(得分:2)

试试这个:

strrpos()

希望有所帮助。

答案 3 :(得分:2)

strriposstrrpos$needle长度添加到结果中,例如:

<?php
$haystack = '/test/index.php';
$needle   = 'index.php';

echo strrpos($haystack, $needle);//output: 6

另一种方法是使用strrev从最后检索位置,例如:

<?php
$haystack = 'Kelley';
$needle   = 'e';

echo strpos(strrev($haystack), strrev($needle));//Output: 1

答案 4 :(得分:1)

function rev ($string, $char)
{
    if (false !== strrpos ($string, $char))
    {
        return strlen ($string) - strrpos ($string, $char) - 1;
    }
}

echo rev ("Kelley", "e");

答案 5 :(得分:1)

简单的功能,你可以添加:

    function stripos_rev($hay,$ned){
    $hay_rev = strrev($hay);
    $len = strlen($hay);
    if( (stripos($hay_rev,$ned)) === false ){
        return false;
    } else {
        $pos = intval(stripos($hay_rev,$ned));
        $pos = $len - $pos;
    }
    return $pos;

}

答案 6 :(得分:0)

简单地说就是:strrpos()

这将从右侧返回角色的第一个出现。

答案 7 :(得分:0)

唯一有效的解决方案是这个函数:

function strpos_reverse ($string, $search, $offset){
    return strrpos(substr($string, 0, $offset), $search);
}