在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
$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中我们可以通过str_split 将字符串转换为数组,但是却对中文无效,下面记录一下个人将中文字符串转换为数组的方法. 用到的PHP函数 mb_strlen — 获取字符串的长度 functi ...
php使用strlen()判断中文汉字字符串长度
php使用strlen()判断中文汉字字符串长度 对于含有中文情况,此时可以采用: iconv_strlen($str,"UTF-8"); iconv_strlen 是无论是何种编 ...
HTML input 文本框输入中文逗号自动转换为英文逗号
input 标签中增加 onkeyup.onafterpaste 属性:
PHP 数组转字符串,与字符串转数组
implode 使用一个字符串将数组变成字符串
随机推荐
3173: [Tjoi2013]最长上升子序列
原题:http://www.lydsy.com/JudgeOnline/problem.php?id=3173 题解:促使我写这题的动力是,为什么百度遍地是Treap,黑人问号??? 这题可以用线段树 ...
javascript之AJAX学习
1.AJAX即Asynchronous Javascript+XML.能够向服务器请求额外的数据而无需卸载页面. AJAx技术的核心是XMLHttpRequest对象(XHR). 2.AJAX只能向 ...
Nginx虚拟目录alias和root目录
nginx是通过alias设置虚拟目录,在nginx的配置中,alias目录和root目录是有区别的:1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alia ...
FCM算法
FCM算法是一种基于划分的聚类算法,它的思想就是使得被划分到同一簇的对象之间相似度最大,而不同簇之间的相似度最小.模糊C均值算法是普通C均值算法的改进,普通C均值算法对于数据的划分是硬性的,而FCM则 ...
如果不知道MySQL当前使用配置文件(my.cnf)的路径的解决方法
如果不知道当前使用的配置文件的路径,可以尝试下面的操作: # which mysqld /usr/local/mysql/bin/mysqld # /usr/local/mysql/bin/mysql ...
组合 Lucas定理
组合 Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u [Submit] [Go Ba ...
2019-oo-第二单元总结
2019-OO-第二单元总结 多线程电梯调度问题 思路综述 第一次作业 第一次作业是非常简单的傻瓜电梯,不需要考虑容量,不需要考虑调度策略,运用了基本的生产者消费者模型,而且生产者消费者模型也一直贯穿 ...
19-02【mac电脑操作】最小化应用程序
最小化应用程序 windows下很简单,直接使用windows+M即可: mac电脑下,官方建议是:option+command+m+h.但实际使用的时候,这个快捷键并不好使: 解决方案:mac系统设 ...
Android Monkey压力测试环境搭建及使用
Android Monkey压力测试学习笔记 步骤:下载SDK -> 解压进入SDK Manager下载系统 -> 配置环境变量 -> 创建虚拟设备或连接真机 -> 进入命令模 ...