将中文字符串分割为数组 解决str_split中文乱码php

2017-05-06 23:47:47

首先来介绍str_split()这个函数;

它的作用是将字符串分割为数组;

例如:

[php] view plain copy

  1. $str='abcde';  

  2. str_plite($str);  

  3.   

  4. 打印结果如下:  

  5. Array  

  6. (  

  7.     [0] => a  

  8.     [1] => b  

  9.     [2] => c  

  10.     [3] => d  

  11.     [4] => e  

  12. )  

看似很好用的样子;但是作为中国程序员;不可避免的要和中文打交道;

这时候再用str_splite就会悲剧的发现乱码了;;;

不要怕;preg_splite可以拯救这个问题;

当然是需要配合正则使用的;

[php] view plain copy

  1. /** 

  2.  * 将字符串分割为数组     

  3.  * @param  string $str 字符串 

  4.  * @return array       分割得到的数组 

  5.  */  

  6. function mb_str_split($str){  

  7.     return preg_split('/(?<!^)(?!$)/u'$str );  

  8. }  

  9.   

  10. $str='白俊遥博客';  

  11. mb_str_split($str);  

  12.   

  13. 打印结果如下:  

  14. Array  

  15. (  

  16.     [0] => 白  

  17.     [1] => 俊  

  18.     [2] => 遥  

  19.     [3] => 博  

  20.     [4] => 客  

  21. )  

打完;收工;


  • 2018-03-09 11:45:11

    SQL SELECT DISTINCT 语句

    如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:

  • 2018-03-13 22:42:44

    TraceView报错:unable to open trace file

    程序效率有些问题,想起用TraceView来分析一下,可是一直报标题中的错误,无法创建出我所需要的aa.trace文件,分析也就无从做起。

  • 2018-03-14 17:41:44

    MySQL的if,case语句使用总结

    Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语句使用,如下是做为表达式使用:

  • 2018-03-16 23:56:14

    layer-list -- layer-list的基本使用介绍

    简单理解,layer 是层,list 是列表,那么 layer-list 就是层列表的意思。但是,是什么层列表呢?? 其实 layer-list 是用来创建 LayerDrawable 的,LayerDrawable 是 DrawableResource 的一种, 所以,layer-list 创建出来的是 图层列表,也就是一个drawable 图形。