Please enable java script to visit.
NOTEBOOK
HOMEPHP / MySQLJS / HTMLWXappPythonC++Blender其他
PHP 分割字符串、转变成数组的办法 - NOTEBOOK
PHP 分割字符串、转变成数组的办法
PHP / MySQL
Posted on 2023-01-03
摘要 : explode(),implode()。
str_split(),mb_str_split,把字符串切割成单个字符为一个键值,支持中文。
❱ 将字符串分割为一个数组,每1个字符为一个键值,成功返回一个数组。

$str = 'one two three';
$arr1 = str_split($str);

// 结果
Array
([0] => o[1] => n[2] => e[3] => [4] => t[5] => w[6] => o[7] => [8] => t[9] => h[10] => r[11] => e[12] => e
)


❱ 将字符串分割为一个数组,每2个字符为一个键值。

$str = 'one two three';
$arr2 = str_split($str, 3);

// 结果

Array
([0] => one[1] => tw[2] => o t[3] => hre[4] => e
)



❱ 如果是中文,则使用mb_str_split。注意php7.4以上才自带。

// PHP 7.4系统自带了这个函数
if(PHP_VERSION<'7.4'){
// make_keywords
// 中文无法使用 str_split(),所以需要自己做一个,把中文一个个字变成数组的一部分
//来自 https://www.runoob.com/php/func-string-str-split.html 不用修改 //2022-12-10
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;
}
}




❱ 使用一个字符串分割另一个字符串,返回一个数组。可以限制多少个元素,可以去掉尾部多少个元素

$str = 'one|two|three|four';

print_r(explode('|', $str));
// 结果
Array
([0] => one[1] => two[2] => three[3] => four
)


print_r(explode('|', $str, 2));
// 结果
Array
([0] => one[1] => two|three|four
)


// 负数的 limit(自 PHP 5.1 起)
print_r(explode('|', $str, -1));
// 结果
Array
([0] => one[1] => two[2] => three
)