使用php将数字除以13位

时间:2019-05-25 17:05:27

标签: php

我想制作一个程序,将一个长数字分成13位数字,这样我就可以使用php来每13位循环一次。

$number = 012345678901230123456789123

应该输出

0123456789123
0123456789123

它应该是具有13的数字倍数的任何大数字。

2 个答案:

答案 0 :(得分:1)

最动态的解决方案可能是在字符串上使用array_functions。
因此,使用str_split使其成为数组,然后将其按大小13进行分块并内陷数组。

$number = "012345678901230123456789123";
$arr = array_chunk(str_split($number), 13);
foreach($arr as &$val){
    $val = implode($val);
}

https://3v4l.org/LsNFt

答案 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;
}