不使用 PHP 内置函数打印数字
Printing numers without using PHP inbuild functions
$numbers = array(3,5,6,7,8,11);
$missing = array();
for ($i = 3; $i < 11; $i++) {
if (!in_array($i, $numbers)){
$missing[] = $i;
}
}
我想在不使用PHP innuild函数的情况下找到从3
到11
缺失的数字,我试过了但还没有完全完成。
在这段代码中我使用了 in_array
但没有这个我必须这样做。任何人帮助 here.I 我是 PHP 的新手,使用 PHP inbuild 我可以做到这一点,但这不是我的情况。
在 $numbers
上使用 foreach
循环并检查 $i
的值。声明一个标志变量,比如 $found
到 false
。如果我们得到数字,在内部循环时,将 $found
设置为 true
并退出循环。最后,如果$found
仍然为false,则将当前的$i
添加到结果中。
<?php
$numbers = array(3,5,6,7,8,11);
$missing = array();
for ($i = 3; $i <= 11; $i++) {
$found = false;
foreach($numbers as $value){
if($value === $i){
$found = true;
break;
}
}
if(!$found) $missing[] = $i;
}
print_r($missing);
您可以使用 array_diff 与 :
$numbersOrigin = range(3, 11);
$numbers = array(3,5,6,7,8,11);
$missing = array_diff($numbersOrigin, $numbers);
使用内置函数:
$numbers = array(3,5,6,7,8,11);
$missing = array();
$index = 0;
for ($i = 3; $i < 11; $i++) {
if ($numbers[$index] === $i) {
$index++;
} else {
$missing[] = $i;
}
}
$numbers = array(3,5,6,7,8,11);
$missing = array();
for ($i = 3; $i < 11; $i++) {
if (!in_array($i, $numbers)){
$missing[] = $i;
}
}
我想在不使用PHP innuild函数的情况下找到从3
到11
缺失的数字,我试过了但还没有完全完成。
在这段代码中我使用了 in_array
但没有这个我必须这样做。任何人帮助 here.I 我是 PHP 的新手,使用 PHP inbuild 我可以做到这一点,但这不是我的情况。
在 $numbers
上使用 foreach
循环并检查 $i
的值。声明一个标志变量,比如 $found
到 false
。如果我们得到数字,在内部循环时,将 $found
设置为 true
并退出循环。最后,如果$found
仍然为false,则将当前的$i
添加到结果中。
<?php
$numbers = array(3,5,6,7,8,11);
$missing = array();
for ($i = 3; $i <= 11; $i++) {
$found = false;
foreach($numbers as $value){
if($value === $i){
$found = true;
break;
}
}
if(!$found) $missing[] = $i;
}
print_r($missing);
您可以使用 array_diff 与 :
$numbersOrigin = range(3, 11);
$numbers = array(3,5,6,7,8,11);
$missing = array_diff($numbersOrigin, $numbers);
使用内置函数:
$numbers = array(3,5,6,7,8,11);
$missing = array();
$index = 0;
for ($i = 3; $i < 11; $i++) {
if ($numbers[$index] === $i) {
$index++;
} else {
$missing[] = $i;
}
}