【问题标题】:Generate string from 00:00:00 to FF:FF.FF in php在php中生成从00:00:00到FF:FF.FF的字符串
【发布时间】:2015-06-14 18:39:03
【问题描述】:

我需要生成和回显从00:00:00FF:FF.FF 的值,例如从11000000 的计数。我知道数字,但十六进制数字如何? 例如,我在 echo 需要这个:

 00:00:00
 00:00:01
 00:00:02
 .
 .
 .
 FF:FF:00
 FF:FF:01
 FF:FF:02
 .
 .
 .
 FF:FF:FF

如何在 PHP 中做到这一点?

【问题讨论】:

  • 你可以看看 dechex()。也许还有一些嵌套的 WHILE 循环。尝试一些东西并向我们展示代码。这是一个有趣的问题。

标签: php hex counting


【解决方案1】:

PHP 接受十六进制格式的整数文字,因此您只需从0 迭代到0xFFFFFF。对于每次迭代,您可以将整数转换为十进制格式,用零填充它,然后将每个字符拆分为字符并使用 : 内爆以获得您想要的格式:

for ($i = 0; $i < 0xFFFFFF; ++$i) {
    echo implode(':', 
    str_split(str_pad(strtoupper(dechex($i)), 
      6, 
      '0', 
      STR_PAD_LEFT), 
    2)) . 
    '<br>';
}

【讨论】:

  • str_pad 中的 8 应该是 6。 --> FF:FF:FF 而不是 FF:FF:FF:FF
  • 没问题,我自己在写答案,但刚刚看到你发布了这个;)
猜你喜欢
  • 2019-03-28
  • 2019-09-27
  • 2011-06-27
  • 2017-01-27
  • 1970-01-01
  • 1970-01-01
  • 2015-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多