Heim > Backend-Entwicklung > PHP-Tutorial > strrchr后输出结果不同

strrchr后输出结果不同

WBOY
Freigeben: 2016-06-06 20:20:00
Original
1337 Leute haben es durchsucht

<code>$str1 = "test:http://google.com,http://hbaidu.com";
$str2 = strrchr($str1,"http://");
echo $str2;</code>
Nach dem Login kopieren
Nach dem Login kopieren

输出结果应该是:

<code>http://hbaidu.com</code>
Nach dem Login kopieren
Nach dem Login kopieren

但是为什么输出结果是:

<code>baidu.com</code>
Nach dem Login kopieren
Nach dem Login kopieren

如果把代码中http://hbaidu.com的h去掉

<code>$str1 = "test:http://google.com,http://baidu.com";
$str2 = strrchr($str1,"http://");
echo $str2;</code>
Nach dem Login kopieren
Nach dem Login kopieren

结果输出是:

<code>http://baidu.com</code>
Nach dem Login kopieren
Nach dem Login kopieren

请问各位大神这是为什么?谢谢

回复内容:

<code>$str1 = "test:http://google.com,http://hbaidu.com";
$str2 = strrchr($str1,"http://");
echo $str2;</code>
Nach dem Login kopieren
Nach dem Login kopieren

输出结果应该是:

<code>http://hbaidu.com</code>
Nach dem Login kopieren
Nach dem Login kopieren

但是为什么输出结果是:

<code>baidu.com</code>
Nach dem Login kopieren
Nach dem Login kopieren

如果把代码中http://hbaidu.com的h去掉

<code>$str1 = "test:http://google.com,http://baidu.com";
$str2 = strrchr($str1,"http://");
echo $str2;</code>
Nach dem Login kopieren
Nach dem Login kopieren

结果输出是:

<code>http://baidu.com</code>
Nach dem Login kopieren
Nach dem Login kopieren

请问各位大神这是为什么?谢谢

建议先看看 strrchr 的文档

http://php.net/manual/zh/function.strrchr.php

<code>string strrchr ( string $haystack , mixed $needle )
</code>
Nach dem Login kopieren

该函数返回 haystack 字符串中的一部分,这部分以 needle 的最后出现位置开始,直到 haystack 末尾。

haystack
在该字符串中查找。

needle
如果 needle 包含了不止一个字符,那么仅使用第一个字符。该行为不同于 strstr()。
如果 needle 不是一个字符串,那么将被转化为整型并被视为字符顺序值。

也就是说,后面的参数只识别第一个字符, 也就是只识别你的 hh 之后的参数全部忽略。如果要使用字符串,需要换用 strpos 等其他支持字符串查询的函数。

(注:楼上的说明也是不准确的,这个和 trim 也不一样,strrchr 只识别第一个字符,其他的字符无效,而不是一个个尝试)

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage