PHP文本处理之中文汉字字符串转换为数组
在PHP中我们可以通过str_split 将字符串转换为数组,但是却对中文无效,下面记录一下个人将中文字符串转换为数组的方法。
用到的PHP函数
mb_strlen — 获取字符串的长度
mb_substr — 获取字符串的部分。
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding()]] )
根据字符数执行一个多字节安全的 substr() 操作。 位置是从 str 的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1,以此类推。
参数 
str
  从该 string 中提取子字符串。 
start
  str 中要使用的第一个字符的位置。 
length
  str 中要使用的最大字符数。 If omitted or NULL is passed, extract all characters to the end of the string. 
encoding
  encoding 参数为字符编码。如果省略,则使用内部字符编码。
代码:
function ch2arr($str)
{
$length = mb_strlen($str, 'utf-8');
$array = [];
for ($i=0; $i<$length; $i++)
$array[] = mb_substr($str, $i, 1, 'utf-8');
return $array;
}
测试:
$ch = '田边的稀泥里到处是泥鳅!';
$arr = ch2arr($ch);
var_dump($arr);
测试结果:
array (size=12)
  0 => string '田' (length=3)
  1 => string '边' (length=3)
  2 => string '的' (length=3)
  3 => string '稀' (length=3)
  4 => string '泥' (length=3)
  5 => string '里' (length=3)
  6 => string '到' (length=3)
  7 => string '处' (length=3)
  8 => string '是' (length=3)
  9 => string '泥' (length=3)
  10 => string '鳅' (length=3)
  11 => string '!' (length=1)
PHP文本处理之中文汉字字符串转换为数组的更多相关文章
- PHP文本处理 中文汉字字符串 转换为数组
		在PHP中我们可以通过str_split 将字符串转换为数组,但是却对中文无效,下面记录一下个人将中文字符串转换为数组的方法. 用到的PHP函数 mb_strlen — 获取字符串的长度 functi ... 
- php使用strlen()判断中文汉字字符串长度
		php使用strlen()判断中文汉字字符串长度 对于含有中文情况,此时可以采用: iconv_strlen($str,"UTF-8"); iconv_strlen 是无论是何种编 ... 
- 微信开发所需要的的方法(签名认证、数组转字符串方法、将xml字符串转换为数组、发送xml请求方法)
		//将xml字符串转换为数组 public function xmlToArray($xml){ $array_data = json_decode(json_encode(simplexml_loa ... 
- HTML input 文本框输入中文逗号自动转换为英文逗号
		input 标签中增加 onkeyup.onafterpaste 属性: <input type="text"placeholder="中文逗号自动转换为英文逗号& ... 
- SQL处理数组,字符串转换为数组
		原文转载自:http://hi.baidu.com/gagahjt/item/fd081316450f05028ebde413 一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串 ... 
- mysql下将分隔字符串转换为数组
		MySQL存储过程可以用于分割字符串,下面就为您详细介绍这种MySQL存储过程的用法,供您参考学习之用. 现有一段字符串,如apple,banana,orange,pears,grape,要把它按照逗 ... 
- SQL字符串转换为数组
		/*一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果. -----rtrim(@str)去掉 @str右边的字符 ltrim(@ ... 
- 【Java面试题】17 如何把一个逗号分隔的字符串转换为数组? 关于String类中split方法的使用,超级详细!!!
		split 方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回. stringObj.split([separator],[limit])参数:stringObj 必选项.要被分解的 ... 
- eval()将json 字符串转换为数组
		json ={ GW:[{id:"655",mc:"董事"},{id:"656",mc:"书记"},{id:" ... 
随机推荐
- mac和xcode快捷键
			mac中: 1.怎么建立快捷方式 首先 按住option+command ,在用鼠标拖动目标文件到指定地点,先松开鼠标,然后在松开键盘 
- mysql管理---表分区
			一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分 ... 
- CI框架学习——基本的用法(一)
			一.必备知识 1.如何访问你的页面 我在控制器下面建立了admin文件夹,此文件夹下有login.php 文件,我们现在要访问这个文件 http://localhost/gradesystem/ind ... 
- Ubuntu Nginx安装
			1.先更新ubuntu系统 更新命令 sudo apt-get update sudo apt-get upgrade 2 添加ubuntu nginx更新源镜像 cd /etc/apt/ sudo ... 
- php+socket模拟表单发送请求
			<?php /** * http请求类(php + socket) * @todo 这里还有很多未完善的地方,仅有简单的get post head请求 * @author chuangrain@ ... 
- js/jQuery实现类似百度搜索功能
			一.页面代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www. ... 
- ios UIKit动力                                                    分类:            ios技术             2015-07-14 12:55    196人阅读    评论(0)    收藏
			UIkit动力学是UIkit框架中模拟真实世界的一些特性. UIDynamicAnimator 主要有UIDynamicAnimator类,通过这个类中的不同行为来实现一些动态特性. 它一般有两种初始 ... 
- 如何获得keyhash
			keyhash是由keystore产生的 三个命令解决问题 keytool -exportcert -alias androiddebugkey -keystore debug.keystore &g ... 
- UIAlertController高级之嵌入其他控件                                                    分类:            ios技术             2015-02-02 11:58    96人阅读    评论(0)    收藏
			在编码过程中,我们经常遇到需要这样一个效果,就是弹出框的嵌套; 举个最简单的例子,比如你要选择时间,必然需要一个时间选择器DatePicker.但是这个选择器又是在你点击某按钮时弹出,弹出方式最常见的 ... 
- 横向滚动视图scroll-into-view不起作用
			横向视图scroll-into-view指定的id为hpink,但是效果图中显示的还是第1个view(未达到效果); 纵向视图scroll-into-view指定的id为yellowgreen,效果图 ... 
