2012-10-21 13 views
11

strpos czynności w odwrotnejstrpos funkcja w odwrotnej kolejności w php

chciałbym znaleźć metodę gdzie mogę znaleźć pozycję znaku w przykładzie reverse.For ostatni „E”, rozpoczynając rachubę w odwrotnej kolejności.

Od przykład

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

to daje mi pozycję 1.

+2

Witamy w Stack Overflow! Nie zniechęcać cię zbytnio do zadawania pytań, ale zawsze pamiętaj o Google - podczas wyszukiwania funkcji 'strpos in reverse in php',' strrpos() 'pojawia się dla mnie na trzecim miejscu. Dzięki! –

+2

Miałem ten sam problem, szukałem go, przyjechałem, znalazłem odpowiedź, szczęśliwy – Allisone

Odpowiedz

4

Co trzeba to strrpos znaleźć pozycję ostatniego wystąpienia podciągu w ciągu znaków

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

Spróbuj tego:

strrpos() 

nadzieję, że pomoże.

0

prostu jak może być: strrpos()

Spowoduje to powrót pierwszego wystąpienia znaku z prawej flanki.

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

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

strripos i strrpos dodać $needle długość skutkować np .:

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

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

Alternatywą jest używać strrev dla odzyskać pozycję od końca, np:

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

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

prosta funkcja, Możesz dodać:

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; 

}