王志勇 发表于 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,")这个检测识别。
置顶的文章:
股骨头坏死的中早期修复方法
Windows流畅度300%以上体感的操作
超低价享受i7-7700的体验
家用电脑理性优化升级天梯图之2026
服务器版Linux系统的选择之2026
秒会+实战PHP程序设计培训(2)
如何快速自制CPU天梯图?
我不明白你明不明白我明白(明白不)
最好的音乐播放硬件
如何打造全静音台式电脑之2026
近期的主题:
Debian 12.0的“致命”bug
数码评测(79):最好用的平价鼠标和维修/改装
这次的PHP大漏洞/淡定的PHPer们
“明白不”的心理机制(2)
博客/网页有没有必要做访问量统计?
数码评测(78):如何打造全静音台式电脑之2026
AI编程和人工编程的差别
世界上最好的二级域名
数码评测(77):最好的音乐播放硬件
博客新调整计划
人生讨论(28):滑翔伞运动
真玄学心得(26):最新消息
DIY(35-4):6路×2 USB全自动电脑切换器
特级干货(1-2):发质/脱发与内分泌研究
“更新提示”的好处/提醒用语
PHP和Java、CGI、Python的区别
前几天差点进入生活黑洞
为什么不要定义Web 3.0?
歌名含义最好的一首中文歌
实验测试结果
版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。
与此相关的链接
自由勇专栏
Blog存档 Archives
2025年-2026年03月(10)
2024年(13)
2023年 +