2012-10-21 15 views
11

chức năng strpos theo chiều ngược lạichức năng strpos ngược lại trong php

Tôi muốn tìm một phương pháp mà tôi có thể tìm thấy một vị trí ký tự ngược lại. Ví dụ: "e" bắt đầu đếm ngược lại.

Từ ví dụ

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

nó sẽ cho tôi vị trí 1.

+2

Chào mừng bạn đến với Stack Overflow! Không khuyến khích bạn quá nhiều khi hỏi, nhưng luôn luôn nhớ đến Google trước tiên - khi tìm kiếm 'hàm strpos ngược lại trong php',' strrpos() 'xuất hiện ở vị trí thứ ba đối với tôi. Cảm ơn! –

+2

Tôi có cùng một vấn đề, tôi googled, đến đây, tìm thấy câu trả lời, hạnh phúc – Allisone

Trả lời

4

gì bạn cần là strrpos để tìm ra vị trí của sự xuất hiện cuối cùng của một chuỗi con trong một chuỗi

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

Hãy thử điều này:

strrpos() 

Hy vọng rằng sẽ giúp.

0

Đơn giản như có thể là: strrpos()

Điều này sẽ trả về lần xuất hiện đầu tiên của ký tự từ bên phải.

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

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

strriposstrrpos thêm $needle chiều dài là kết quả, Eg .:

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

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

Một cách khác là sử dụng strrev cho lấy vị trí từ cuối cùng, ví dụ:

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

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

chức năng đơn giản, bạn có thể thêm:

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; 

}