王志勇 发表于 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吗?
近期的主题:
夜晚靓歌(10):你没看过的《星雨心愿》
Feedval、Blogval将下线/谈理财和生存
2024.9感言
人生讨论(20):有人借钱怎么办?(2)
人生讨论(19):迄今为止最强的情感频道
数码评测(67):让小米/红米手机的反应提高1~2倍
数码评测(66):无线网卡FW150UH VS FW150UH
数码评测(65):如何快速自制CPU天梯图?
数码评测(64):2024年,你还在用VGA线吗?
人生讨论(18):6年就可以实现财务自由
人生讨论(17):为什么总是受欺负?
人生讨论(16):要钱的最新妙招
创业杂谈(17):什么项目能赢利?
人生讨论(15):有人借钱怎么办?
数码评测(63):高清切换超级神器
数码评测(62):再谈视频的尺寸
数码评测(61):近期数码采购和折腾
人生讨论(14):看穿尊重
数码评测(60):图拉丁-最佳中配工作“免费”手机
创业杂谈(16):博客何时终结?
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2022年07月
2022年06月(15)
2022年05月(20)
2022年04月(16)
2022年03月(9)
2022年02月(9)
2022年01月(10)
2021年 +