PHP strrchr()函数处理中文时,为何会出现意想不到的结果?

php strrchr()函数处理中文时,为何会出现意想不到的结果?

php 中 strrchr() 输出的内容解析

strrchr() 函数用于在字符串中找到指定字符最后一次出现的位置。当参数中包含中文时,其输出结果可能令人困惑。

示例 1:

$str1 = "今天不是下雨天,感觉不错哟,没下雨,,,啊";$res1 = strrchr($str1, "下雨");echo "$res1 
";

输出:

立即学习“PHP免费学习笔记(深入)”;

下雨,,,啊

此输出符合预期,因为函数找到了字符串中 “下雨” 字符串的最后一个出现位置。

示例 2:

$str2 = "我爱你中国啊中国啊五十几个族啊";$res2 = strrchr($str2, "中");echo "$res2 
";var_dump($res2);

输出:

立即学习“PHP免费学习笔记(深入)”;

个族啊string '个族啊' (length=9)

解释:

令人惊讶的是,输出的内容是 “个族啊”。这是因为 strrchr() 函数在处理包含中文的参数时,先使用 urlencode() 函数对参数进行编码。编码结果如下:

%E6%9C%89%E6%88%91%E7%88%B1%E4%B8%AD%E5%9B%BD%E5%95%8A%E4%B8%AD%E5%9B%BD%E5%95%8A%E4%BA%94%E5%8D%81%E4%BA%94%E5%8D%81%E6%97%8F%E5%95%8A

php 将此编码后的字符串视为三个字符,而 strrchr() 函数在参数有多个字符时只使用第一个字符。因此,它找到了 “中” 字符在 “个族啊” 中的位置。

以上就是PHP strrchr()函数处理中文时,为何会出现意想不到的结果?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1249801.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
JavaScript单次点击如何实现事件函数执行两次?
上一篇 2025年12月9日 21:40:10
PHP strrchr()函数处理中文字符串时,输出结果究竟是什么?
下一篇 2025年12月9日 21:40:19

相关推荐

  • 刚从GitHub克隆下来的项目,微信开发者工具就提示有文件修改的解决方法

    最近在使用GitHub和微信开发者工具管理一个微信小程序项目,期间遇到一个问题,刚克隆下来的项目,微信开发者工具就提示有文件修改(事实上什么也没改)。 确实是一个让人头疼的问题,为了避免推送后出现冲突,就排查了一下问题的原因: 不同操作系统使用的换行符是不一样的。Unix/Linux使用的是LF,M…

    2026年9月5日
    100
  • 蓝桥云课之新手入门指南

    蓝桥云课之新手入门指南蓝桥云课之新手入门指南蓝桥云课之新手入门指南蓝桥云课之新手入门指南

    第一种,就是网页版的linux 蓝桥ROS课程也是这种模式: 蓝桥云课ROS机器人发布5年啦(原实验楼ROS机器人在线云实践课程) 环境是16.04 代码语言:javascript代码运行次数:0运行复制 #includeint main(){ printf(“Hello, Shiyanlou.”)…

    2026年9月5日 用户投稿
    000
  • 朝鲜王朝尸战 MMO《尸战王朝》游戏预约开启

    朝鲜王朝尸战 MMO《尸战王朝》游戏预约开启朝鲜王朝尸战 MMO《尸战王朝》游戏预约开启朝鲜王朝尸战 MMO《尸战王朝》游戏预约开启朝鲜王朝尸战 MMO《尸战王朝》游戏预约开启

    朝鲜王朝尸战惊悚 mmo《尸战王朝》(ios/android)6 月 10 日正式宣布即将登陆台港澳地区,并同步开启事前预约活动。 韩国高人气尸战 MMO 进军台港澳 《尸战王朝》在韩国上线后迅速登上 App Store 与 Google Play 人气榜前列,掀起一股尸战热潮,深受韩国玩家喜爱。这…

    2026年9月5日 用户投稿
    100
  • 怎么删除数据表中数据

    方法:1、使用DELETE语句,可删除表的一行或多行数据,语法“DELETE FROM 表名 [WHERE子句]”;如果省略“WHERE子句”,则可删除表中全部数据。2、使用“TRUNCATE TABLE 表名;”语句,可删除表中全部数据。 本教程操作环境:windows7系统、mysql8版本、D…

    2026年9月5日
    000
  • 数据共享:鸿蒙系统与安卓系统之间的挑战与机遇

    随着人们对数据共享的需求不断增加,操作系统也在不断发展。在这个数字化时代,数据共享成为了不可或缺的一部分。目前,主要的操作系统包括安卓系统和鸿蒙系统,它们之间的竞争与合作关系备受关注。本文将探讨鸿蒙系统与安卓系统之间的挑战与机遇。 首先,鸿蒙系统作为华为公司推出的新一代操作系统,备受期待。相比于安卓…

    用户投稿 2026年9月5日
    000
  • 伟时电子实控人拟转让6%股份 转让价19.75元/股

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 伟时电子(股票代码:此处应补充股票代码)于1月27日发布公告,公司控股股东兼实际控制人渡边庸一已于1月23日与王晓晴签署股份转让协议,将其持有的1277万股无限售流通股(占公司总股本的6%)以每…

    2026年9月5日
    000
  • 绝区零式舆防卫战第四层速通指南:BUFF与阵容的极致协同

    绝区零式舆防卫战第四层速通指南:BUFF与阵容的极致协同绝区零式舆防卫战第四层速通指南:BUFF与阵容的极致协同绝区零式舆防卫战第四层速通指南:BUFF与阵容的极致协同绝区零式舆防卫战第四层速通指南:BUFF与阵容的极致协同

    面对式舆防卫战纷争节点第四层的钢铁洪流,你是否在密集的弹雨中寸步难行?米游社攻略达人“空白12359”献上深度攻略,为你拨开迷雾!本篇聚焦核心buff机制与角色操作技巧,助你化身战场指挥官,精准瓦解敌军攻势! 制胜关键:掌握战场规则(核心BUFF解读) 特殊技增伤机制(40%输出加成) 战场第一法则…

    2026年9月5日 用户投稿
    100
  • decimal是什么类型

    decimal是MySQL中存在的精准数据类型,语法格式“DECIMAL(M,D)”。其中,M是数字的最大数(精度),其范围为“1~65”,默认值是10;D是小数点右侧数字的数目(标度),其范围是“0~30”,但不得超过M。 本教程操作环境:windows7系统、mysql8版本、Dell G3电脑…

    2026年9月5日
    000
  • 百度地图怎么离线导航_百度地图离线导航使用方法

    首先打开百度地图,通过个人中心或常用功能入口进入离线地图,下载全国基础包及目标省市地图包,完成后在导航设置中启用离线优先模式,即可在无网环境下正常使用导航功能。 如果您计划前往网络信号不佳或无网络覆盖的区域,提前下载好离线地图和导航包可以确保您在无网状态下正常使用导航功能。以下是百度地图实现离线导航…

    2026年9月5日
    100
  • Java后端框架面试:死记硬背还是实战演练更重要?

    Java后端框架面试:理论与实践哪个更重要? Java后端框架是Java后端工程师面试的重点考察内容。许多求职者,特别是应届毕业生,常常纠结于“背诵理论”和“实战演练”哪个更重要。 理论知识至关重要,它能帮助你顺利通过面试。面试官通常会通过提问的方式考察你对框架的理解,而标准化的答案需要你提前准备和…

    2026年9月5日
    200
  • Win7运行启动项命令是什么?Win7设置开机启动项的方法

    一、使用工具 若要调整Win7的开机启动顺序,需要准备一些必要的工具。首先,一台已经安装了Win7系统的电脑是必不可少的。此外,还需要一张Win7系统安装光盘,这是设置启动顺序的重要辅助工具。当然,若您没有实体安装盘,也可以通过其他途径获取系统镜像文件。 二、操作步骤 下面将介绍一种实用的操作方法,…

    2026年9月5日
    100
  • VSCode怎么设置Tab键_VSCode调整Tab大小和缩进的相关配置教程

    VSCode中Tab行为由editor.tabSize和editor.insertSpaces控制,前者定义缩进宽度,后者决定插入空格或Tab字符。通过设置editor.detectIndentation可开启自动检测文件缩进风格,避免设置冲突。可在用户或工作区级别配置,亦可通过settings.j…

    2026年9月5日
    000
  • 解决 Bootstrap 4.4 Navbar 折叠图标不显示问题:完整指南

    本教程旨在解决 Bootstrap 4.4 导航栏在移动端折叠时,汉堡包图标不显示但功能正常的常见问题。核心原因通常是 Bootstrap CSS 或 JavaScript 依赖(如 jQuery, Popper.js)的 CDN 引入不完整或不正确。文章将提供一个完整的、可运行的 HTML 模板,…

    2026年9月5日
    000
  • 青海网友拍下巨大管状物从天而降 当地回应:疑似火箭残骸坠落

    10月13日,青海省贵南县的许多网友通过视频记录下了一枚巨大的管状物从高空疾速坠落并随后发生剧烈爆炸的震撼瞬间。据现场影像显示,该物体在下降过程中留下了明显的烟雾痕迹,其触地爆炸的威力巨大。14日,记者从贵南县应急管理部门获悉,该管状物已被初步确认为火箭残骸。当局表示,在残骸坠落前,他们已完成了所有…

    2026年9月5日
    000
  • win10耳机插上没反应怎么办_win10耳机无声连接异常解决方案

    首先检查耳机物理连接并确认设备是否被禁用,再设置默认播放设备,更新音频驱动,最后调整Realtek音频管理器,确保前端接口功能开启。 如果您在使用Windows 10电脑时插入耳机但没有任何声音或系统无反应,可能是由于音频设备未被正确识别或设置错误导致的。以下是解决此问题的具体步骤。 本文运行环境:…

    2026年9月5日
    100
  • 电脑自动重启是什么原因 看完你就会操作了

    电脑自动重启是什么原因 看完你就会操作了电脑自动重启是什么原因 看完你就会操作了电脑自动重启是什么原因 看完你就会操作了电脑自动重启是什么原因 看完你就会操作了

    用电脑时最让人头疼的,莫过于它毫无征兆地自动重启——文档没保存、游戏正酣、线上会议进行到一半……瞬间崩溃!其实,电脑自行重启并非偶然,背后往往藏着不少“元凶”。下面带你逐一排查这些常见诱因。 一、系统更新“趁你不备”重启 你正专注工作,电脑突然弹出更新提示并强制重启?这通常是Windows11开启了…

    2026年9月5日 用户投稿
    100
  • 如何在Swoole中使用协程实现高并发的swoole_ftp_rename函数

    随着互联网业务的发展,高并发成为了一种常见的需求,开发人员需要使用一些高效的工具来满足这一需求。而swoole作为一个高性能的php网络通信框架,已经成为了很多企业的首选。在swoole提供的函数中,swoole_ftp_rename是一个重要的函数之一。本文将介绍如何在swoole中使用协程实现高…

    用户投稿 2026年9月5日
    000
  • 春晚成新能源汽车必争之地 尊界S800已抢占高地!

    春晚成新能源汽车必争之地 尊界S800已抢占高地!春晚成新能源汽车必争之地 尊界S800已抢占高地!春晚成新能源汽车必争之地 尊界S800已抢占高地!春晚成新能源汽车必争之地 尊界S800已抢占高地!

    2025年春节联欢晚会,新能源汽车品牌争奇斗艳! 尊界s800惊艳亮相,成为全场焦点! ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 在今晚的春晚舞台上,蔚来、小米、问界等新能源汽车品牌纷纷登场,然而,尊界S800凭借其出众的设计和先进的技…

    2026年9月5日 用户投稿
    200
  • 英雄联盟手游基兰正式服上线倒计时:时光守护者全机制前瞻

    当你的adc在团战中又一次不幸阵亡,发出“如果可以重来”的感慨时,峡谷中的时光掌控者已经悄然按下了加速按钮!大家期待已久的基兰,终于以时光守护者的身份降临手游战场。作为一位能够操控时间的战略型辅助,他无疑会彻底改变下路的游戏格局。 核心时间线:掌握上线节奏 体验服测试启动:2025年4月17日,版本…

    2026年9月5日
    100
  • Linux使用bitnami安装redmine的方法

    Linux使用bitnami安装redmine的方法Linux使用bitnami安装redmine的方法Linux使用bitnami安装redmine的方法Linux使用bitnami安装redmine的方法

     这是我第一篇博客,如果有什么写的不好还请多包涵 有一次工作有机会让我来接触redmine,刚开始我尝试手动安装,结果安装了N天。都没装上。后来看到了bitnami安装比较方便,可是因为服务器内存不够的缘故,也耽误了几天。不过最后还是安装上了,所以我决定还是记录在博客上。希望对能对大家有帮助 1.登…

    2026年9月5日 用户投稿
    000

发表回复

登录后才能评论
关注微信