$str1 = "test:http://google.com,http://hbaidu.com"; $str2 = strrchr($str1,"http://"); echo $str2;
输出结果应该是:
http://hbaidu.com
但是为什么输出结果是:
baidu.com
如果把代码中http://hbaidu.com的h去掉
1.后台管理登陆直接在网站地址后输入后台路径,默认为 /admin,进入后台管理登陆页面,输入管理员用户名和密码,默认为 中文 admin ,登陆后台。2.后台管理a.注销管理登陆 (离开后台管理时,请点击这里正常退出,确保系统安全)b.查看使用帮助 (如果你在使用系统时,有不清楚的,可以到这里来查看)c.管理员管理 (这里可以添加,修改,删除系统管理员,暂不支持,分权限管理操作)d.分类管理 (
0
$str1 = "test:http://google.com,http://baidu.com"; $str2 = strrchr($str1,"http://"); echo $str2;
结果输出是:
http://baidu.com
请问各位大神这是为什么?谢谢
$str1 = "test:http://google.com,http://hbaidu.com"; $str2 = strrchr($str1,"http://"); echo $str2;
输出结果应该是:
http://hbaidu.com
但是为什么输出结果是:
baidu.com
如果把代码中http://hbaidu.com的h去掉
$str1 = "test:http://google.com,http://baidu.com"; $str2 = strrchr($str1,"http://"); echo $str2;
结果输出是:
http://baidu.com
请问各位大神这是为什么?谢谢
建议先看看 strrchr 的文档
http://php.net/manual/zh/function.strrchr.php
string strrchr ( string $haystack , mixed $needle )
该函数返回 haystack 字符串中的一部分,这部分以 needle 的最后出现位置开始,直到 haystack 末尾。 haystack在该字符串中查找。 needle如果 needle 包含了不止一个字符,那么仅使用第一个字符。该行为不同于 strstr()。如果 needle 不是一个字符串,那么将被转化为整型并被视为字符顺序值。
也就是说,后面的参数只识别第一个字符, 也就是只识别你的 h , h 之后的参数全部忽略。如果要使用字符串,需要换用 strpos 等其他支持字符串查询的函数。
(注:楼上的说明也是不准确的,这个和 trim 也不一样,strrchr 只识别第一个字符,其他的字符无效,而不是一个个尝试)
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号