首页 > 解决方案 > 将字符串分成几部分并将其转换为数组

问题描述

需要每隔 500 个符号拆分字符串,并将每个部分放入数组中。

例子:

$str = "xx...xxxx" (1550 symbols)

结果:

array(4) {
  [0]=>
  string(500) "xxx.xx"
  [1]=>
  string(500) "xxx.xx"
  [2]=>
  string(500) "xxx.xx"
  [3]=>
  string(50) "xxx.xx"
}

尝试过这种方式,但这不是我需要的:

$arr = str_split($str,500);

如何以最好的方式解决这个问题?

谢谢!

标签: phparraysstringsplit

解决方案


这是我的解决方案

function split($str, $len = 1) {
    $arr    = [];
    $length   = mb_strlen($str, 'UTF-8');
    for ($i = 0; $i < $length; $i += $len) {
        $arr[] = mb_substr($str, $i, $len, 'UTF-8');
    }
    return $arr;
}
$arr = split($cart,55);

u_mulder,thanx 用于 UTF 编码的提示:)


推荐阅读