Search code examples
phpwhitespace

How to add whitespace between generated numbers - PHP


I generated a 16 digit number using the mt_rand function. I'm trying to add a whitespace after every four-digit

For example: 4933 2375 1949 8010 (this is what I'm trying to achieve)

Here is my code

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


Solution

  • Use 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!