我想制作一个程序,将一个长数字分成13位数字,这样我就可以使用php来每13位循环一次。
$number = 012345678901230123456789123
应该输出
0123456789123
0123456789123
它应该是具有13的数字倍数的任何大数字。
答案 0 :(得分:1)
最动态的解决方案可能是在字符串上使用array_functions。
因此,使用str_split使其成为数组,然后将其按大小13进行分块并内陷数组。
$number = "012345678901230123456789123";
$arr = array_chunk(str_split($number), 13);
foreach($arr as &$val){
$val = implode($val);
}
答案 1 :(得分:1)
您可以创建一个函数,在其中可以使用字符串和大小作为参数,并返回所需长度的字符串数组:
function splitString($str, $packetSize) {
$output = [];
$size = strlen($str);
for ($i = 0; $i < $size; $i += $packetSize) {
if ($i + $packetSize < $size) {
$output[]= substr($str, $i, $packetSize);
} else {
$output[]=substr($str, $i);
}
}
return $output;
}