为了账号安全,请及时绑定邮箱和手机立即绑定

查找丢失的数组:PHP

查找丢失的数组:PHP

PHP
慕尼黑的夜晚无繁华 2022-07-22 19:17:28
我试图在数组中找到缺失的东西。使用此代码<?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);?>但结果是8有人可以帮助我吗?
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

无论您是否找到缺失值,您都将循环执行到最后。$id将永远如此$max+1。当您找到缺失值时,您需要跳出循环(或者如果您想要所有缺失值,请将缺失值推送到数组中)。array_diff但是,可以使用range从 0 到 中的最大值更简单地实现代码$no:


$no = array(1,2,3,5,6,7);

$max = max($no);

// you may want to use min($no) here

$min = 0;

$missing = array_diff(range($min, $max), $no);

// print all missing values in the range

print_r($missing);

// if you only want the first missing value

echo min($missing);

输出:


Array

(

    [0] => 0

    [4] => 4

)

0


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信