Странный результат strrpos php - PullRequest
0 голосов
/ 27 марта 2012

Я получаю странный результат, используя strrpos

$link = "www.mysite.com/?_vc=1&_pgn=2";
$position = strrpos($link,"&_pgn=");
echo "<br/>".$position;

результат - черная страница.

если я изменю шаблон в strrpos как:

$position = strrpos($link,"&");

это даст мне значение

21

В чем проблема? Вы можете мне помочь?

Ответы [ 2 ]

2 голосов
/ 27 марта 2012

После некоторого случайного поиска в моем утреннем кофе кажется, что вы все еще используете PHP4.

В PHP 4 strpos () использует целую строку в качестве стрелки, тогда как strrpos () ограничивает стрелку одним символом. Если вы пройдете strrpos () строка из более чем одного символа, она использует только молча первый символ.

В PHP 5 strrpos () и strripos () теперь ведут себя идентично strpos ( ) в том, что они находят строки вместо только первого символа.

Поэтому ваш код работает для большинства людей, но не для вас. Я нашел это здесь .

1 голос
/ 27 марта 2012

Код работает и возвращает

<br/>21

Попробуйте включить ошибки (если они отключены), чтобы понять, почему вы получаете пустую страницу, это должен быть какой-то другой код или опечатка

настройки ошибок

ini_set('display_errors','on');
error_reporting(E_ALL); 
...