• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

strrchr后输出结果不同

php 搞代码 3年前 (2022-01-25) 24次浏览 已收录 0个评论
文章目录[隐藏]
<code>$str1 = "test:http://google.com,http://hbaidu.com";$str2 = strrchr($str1,"http://");echo $str2;</code>

输出结果应该是:

<code>http://hbaidu.com</code>

但是为什么输出结果是:

<code>baidu.com</code>

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

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

结果输出是:

<code>http://baidu.com</code>

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

回复内容:

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

输出结果应该是:

<code>http://hbaidu.com</code>

但是为什么输出结果是:

<code>baidu.com</code>

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

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

结果输出是:

<code>http://baidu.com</code>

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

建议先看看 strrchr 的文档

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

<code>string strrchr ( string $haystack , mixed $needle )</code>

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

haystack
在该字符串中查找。

needle
如果 needle 包含了不止一个字符,那么仅使用第一个字¥本文来源gaodai#ma#com搞@@代~&码网^搞gaodaima代码符。该行为不同于 strstr()。
如果 needle 不是一个字符串,那么将被转化为整型并被视为字符顺序值。

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

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:strrchr后输出结果不同

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址