我想创建从 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。