问题:$s="1,2,3,4";$a=[1=>'一',2=>'二',3=>'三',4=>'四'];最重要达到的效果:"一,二,三,四"PHP7以上再备注一下吧:一行代码,一行代码实现效果.
2 回答

繁花不似锦
TA贡献1851条经验 获得超4个赞
代码$s="1,2,3,4";$a=[1=>'一',2=>'二',3=>'三',4=>'四'];$arr=[];foreach(explode(',',$s)as$key){$arr[]=$a[$key];}echoimplode(',',$arr);结果一,二,三,四

宝慕林4294392
TA贡献2021条经验 获得超8个赞
可以用数组函数$result=array_map(function($arrayKey)use($a){return$a[$arrayKey]??null;},explode(',',$s));$result=implode(',',$result);或者$result=array_reduce(explode(',',$s),function($result,$item)use($a){return$result.="{$a[$item]},";},'');$result=trim($result,',');或者$result=array_intersect_key($a,array_combine(explode(',',$s),explode(',',$s)));$result=implode(',',$result);没有更精简的方式了,php并没有提供一次获取多个key的值的函数,只能自己封装一下,以上方式更推荐第一种,逻辑清楚效率高
添加回答
举报
0/150
提交
取消