PHP:生成没有零和一的有序 ID



我想创建从 2 到没有零和 1 的任何值的有序数字。

例如 1、10、11、

15、41、50、60、61 等,这些是无效数字

我的尝试:

for($i=0, $ii=1000; $i<$ii; $i++){
     if($i%11){
        continue;
     }
}

但这不起作用

您可以将

数字视为字符串并搜索字符"0"和"1"。

<?php
for($i=0; $i<100; $i++){
  if(strpos((string) $i, '0') !== false) continue; // contains 0
  if(strpos((string) $i, '1') !== false) continue; // contains 1
  echo $i . "n";
}

请注意,strpos()返回搜索字符串(又名针)在给定字符串(又名干草堆)中第一次出现的位置,如果未找到匹配项,则返回false的位置。这就是为什么您必须将strpos()的结果与!== false进行比较,因为如果仅使用0,这也被认为是false == false

有关包含示例的详细文档,请参阅 http://php.net/manual/en/function.strpos.php。

生成一个整数,将其转换为八进制字符串,然后将每个数字的值增加 2。我不是PHP程序员,所以我会给你伪代码。

foo = 1
octFoo = decoct(foo)
// at this point, octFoo is equal to 1
// Now go through each character in octFoo and increase it by 2.
// So 0 becomes 2, 1 becomes 3, etc.

给定数字 8,octFoo 将是10,最终结果将是 32

如果要编写自己的整数到字符串例程,则可以在没有中间八进制步骤的情况下执行此操作。不要使用数字 0 到 7,而是使用数字 2 到 9。

最新更新