(PHP 5, PHP 7)
str_split — 将字符串转换为数组
说明
str_split ( string $string
[, int $split_length
= 1 ] ) : array
将一个字符串转换为数组。
参数
string
输入字符串。split_length
每一段的长度。
返回值
如果指定了可选的 split_length
参数,返回数组中的每个元素均为一个长度为 split_length
的字符块,否则每个字符块为单个字符。
如果 split_length
小于 1,返回 FALSE
。如果 split_length
参数超过了 string
超过了字符串 string
的长度,整个字符串将作为数组仅有的一个元素返回。
范例
Example #1 str_split() 使用范例
<?php
$str = "Hello Friend";
$arr1 = str_split($str);
$arr2 = str_split($str, 3);
print_r($arr1);
print_r($arr2);
?>
以上例程会输出:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
[5] =>
[6] => F
[7] => r
[8] => i
[9] => e
[10] => n
[11] => d
)
Array
(
[0] => Hel
[1] => lo
[2] => Fri
[3] => end
)
str_split() 函数无法分隔中文字符的问题,可以使用以下函数替代:
<?php
function mb_str_split($str,$split_length=1,$charset="UTF-8"){
if(func_num_args()==1){
return preg_split('/(?<!^)(?!$)/u', $str);
}
if($split_length<1){
return false;
}
$len = mb_strlen($str, $charset);
$arr = array();
for($i=0;$i<$len;$i+=$split_length){
$s = mb_substr($str, $i, $split_length, $charset);
$arr[] = $s;
}
return $arr;
}
print_r(mb_str_split('runoops'));
print_r(mb_str_split('自学教程'));
输出:
Array
(
[0] => r
[1] => u
[2] => n
[3] => o
[4] => o
[5] => p
[6] => s
)
Array
(
[0] => 自
[1] => 学
[2] => 教
[3] => 程
)