如何在生成的数字之间添加空格 - PHP

How to add whitespace between generated numbers - PHP

我使用 mt_rand 函数生成了一个 16 位数字。我试图在每四位数字后添加一个空格

例如:4933 2375 1949 8010(这是我想要实现的)

这是我的代码

function generatenumber($limit, $prefix){
    $code = '';
    for($i = 0; $i < $limit; $i++) { 
        $code .= mt_rand(0, 9); 
    }
    return $prefix.$code;
}

generatenumber(15, 4);

result: 4933237519498010 // Need a whitespace after every four digit

一种方法是检查每第 n 次迭代是否当前迭代(+1,因为它的索引为 0)是否可以被 $prefix 整除。

function generatenumber($limit, $prefix) {
    $code = '';

    for ($i = 0; $i < $limit; $i++) { 
        
        if (($i + 1) % $prefix === 0) {
            $code .= ' ';
        }
        
        $code .= mt_rand(0, 9); 
        
    }

    return $prefix.$code;
}

generatenumber(15, 4);

结果:4910 2555 3930 7438

您可以使用模数计算何时生成 4 个(此处为前缀)数字以放置空格:

function generatenumber($limit, $prefix){
    $code = '';
    for($i = 1; $i <= $limit; $i++) { 
        $code .= mt_rand(0, 9);
        if($i % $prefix == 0)
            $code .= " "; 
    }
    return $code;
}

echo generatenumber(16, 4);

使用chunk_split():

<?php

function generatenumber($limit, $prefix){
    $code = '';
    for($i = 0; $i < $limit; $i++) { 
        $code .= mt_rand(0, 9); 
    }
    return chunk_split($prefix . $code, 4, ' ');
}

echo generatenumber(15, 4);

4763 7818 1147 5040

Try it online!