王志勇 发表于 2019年02月06日 11:29
比如在项目中,设定数值1、2、3分别代表的是语言:en、cn、tc。en为英语,cn为简体中文,tc为繁体中文(Traditional Chinese)。
如果不用if语句,或者不用循环语句,如何快速把1、2、3分别转成en、cn、tc?只要巧用explode()这个函数:
$a1=explode(',',',en,cn,tc');
注:explode()函数对字符串的处理实在太重要,我每天都要用这个函数很多次,能轻松把一个字符串变成数组,平时处理完成后再将数组合并成字符串。
这样,$a1[1]的值为en,$a1[2]的值为cn,,$a1[2]的值为tc。在en,cn,tc的最前面,有个逗号,是因为explode产生的数组,是从0开始,如果没有这个逗号,则$a1[0]的值为en,所以最前面加个逗号,巧妙解决了这个问题。
相反,如何快速把en、cn、tc分别转成1、2、3?
$a=',,en,1,cn,2,tc,3';
$b=strpos($a,",$lang,");
$a1=substr($a,($b+4),1);
其中$lang的值是语言如en,$b的值是找到",$lang,"这个字符串在$a的起始位置,$a1就是将en转成1,或者cn转成2,或者tc转成3。上述程序合并为1行:
$a=',,en,1,cn,2,tc,3';$a1=substr($a,(strpos($a,",$lang,")+4),1);
其中,在en,1,cn,2,tc,3前面有2个逗号,是因为strpos找到的位置,是从0开始,第1个逗号是为了避免这种混淆,第2个逗号,是为了被strpos($a,",$lang,")这个检测识别。
置顶的文章:
论朋友圈可以发什么?
短信验证开发的方案分享
巡回更新:2018-09-21
速度是永恒的主题
UTF-8、HTTPS原来都是浮云
https安全吗?
独立博客有必要安装https吗?
近期的主题:
数码评测(70):测试继电器的接触电阻
数码评测(69):家用电脑理性优化升级天梯图之2026
数码评测(68):组装高速U盘/移动硬盘
真玄学心得(23):再生人与我们的关联
服务器版Linux系统的选择之2026
真玄学心得(22):未来人信息新解
数码评测(65-2):再谈自制CPU天梯图
夜晚靓歌(12):于文文现场solo
夜晚靓歌(11):女声版《直到世界的尽头》
人生讨论(24):深圳是出行最差的城市
人生讨论(23):心灵帖=智慧帖 & 致富原理
推荐2026年度的新型特级网红
秒会+实战PHP程序设计培训(2)
趣谈民谣吉他/古典吉他
人生讨论(22):瀑布秋千坠亡事件的深入本质
人生讨论(21):“明白不”的心理机制
明星经济和创业思维(3)
明星经济和创业思维(2)
明星经济和创业思维
博客近况和话题
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2025年-2026年03月(10)
2024年(13)
2023年 +