Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查找缺少的数组:PHP_Php_Arrays - Fatal编程技术网

查找缺少的数组:PHP

查找缺少的数组:PHP,php,arrays,Php,Arrays,我正在努力寻找数组中的缺失 使用此代码 <?php $no = array(1,2,3,5,6,7); $max=max($no); for($x=0; $x<=$max; $x++){ if(!in_array($x,$no)){ $id = $x; }else{ $id = $x+1; }

我正在努力寻找数组中的缺失

使用此代码

<?php                       
     $no = array(1,2,3,5,6,7);
     $max=max($no);
     for($x=0; $x<=$max; $x++){
       if(!in_array($x,$no)){ 
       $id = $x;
       }else{
       $id = $x+1;
       }                        
     }
     echo '<pre>'; print_r($id);
?>

但结果是

八,


有人可以帮我吗?

无论是否找到缺少的值,您都在执行循环到最后。因此,
$id
将始终是
$max+1
。当发现缺少的值时,需要中断循环(或者如果需要所有缺少的值,则将缺少的值推送到数组中)。但是,可以更简单地使用
$no
中从0到最大的值来实现代码:

Array
(
    [0] => 0
    [4] => 4
)
0
输出:


您试图将丢失的数字存储到另一个变量中,对吗?要查找第一个丢失的值还是所有丢失的值?缺少的值是从0开始还是从数组中的最小值开始?
Array
(
    [0] => 0
    [4] => 4
)
0