王志勇 发表于 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,")这个检测识别。
置顶的文章:
超低价享受i7-7700的体验
https速度测试(可下载精确测试工具)
家用电脑理性优化升级天梯图之2026
服务器版Linux系统的选择之2026
秒会+实战PHP程序设计培训(2)
如何快速自制CPU天梯图?
https安全吗?
独立博客有必要安装https吗?
近期的主题:
真玄学心得(24):心路历程
数码评测(74):i5-14400 VS i7-12700
如何打造优秀博客?(2)
数码评测(73):PC神U i3-7350K的体验
又丢失了一次域名起名
https利弊(2):生态的分量
写博客实在太耗时间
人生讨论(26):为什么很多人成功后很少发声?
数码评测(72):多核CPU选择之新发现
学习粤语的核心难度
通过.hk域名看当今两地互联网
Webshu一定会重新改版
数码评测(71):超低价享受i7-7700的体验
回顾2009年时的第一个完成的PHP项目
https利弊(1):https速度测试(可下载精确测试工具)
误操作导致部分数据丢失
夜晚靓歌(13):SNH48做客广州电台
人生讨论(25):永远不能出口的话
数码评测(70):测试继电器的接触电阻
数码评测(69):家用电脑理性优化升级天梯图之2026
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2025年-2026年03月(10)
2024年(13)
2023年 +