【问题标题】:How to add whitespace between generated numbers - PHP如何在生成的数字之间添加空格 - PHP
【发布时间】:2021-06-22 11:53:27
【问题描述】:

我使用 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

【问题讨论】:

  • 检查 i%4 是否为零并在代码上附加一个空格。 PHP 没有数据类型限制,所以应该很容易
  • 抱歉,没听懂!我对编程语言比较陌生。你能告诉我如何实现这一点(通过回答问题)谢谢

标签: php whitespace


【解决方案1】:

使用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!

【讨论】:

  • 不错,不知道有这个
  • 最简单的!谢谢
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    您可以使用模数来确定何时生成 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);
    

    【讨论】:

      猜你喜欢
      • 2023-01-02
      • 1970-01-01
      • 2013-05-14
      • 2013-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多