php - 将字符串分成几部分并将其转换为数组
问题描述
需要每隔 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);
如何以最好的方式解决这个问题?
谢谢!
解决方案
这是我的解决方案
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 编码的提示:)
推荐阅读
- python - 自定义标签(模板标签)未加载
- puppeteer - 避免使用 puppeteer 使用智能卡
- css - 为什么 -webkit-text-stroke 在 Chrome 和 Safari 上看起来不同?
- coldfusion - RequestDumperValve 中断 POST 请求
- javascript - JavaScript 应用()
- r - 如何在 R 中使用小样本校正对标准误差进行聚类
- python-3.x - 如何使用字典中的“键”作为匹配文件名的通配符模式?
- html - PrimeNg 中的日期验证逻辑
- mysql - 没有净效应的事务是否会触及磁盘上的数据库?
- javascript - 两个相同字符串之间的 EJS 比较