我希望从数据库中搜索数组id
id
是数字
例如:$id=array(0,1,3,6,7);
- >数据丢失,因为ID已删除或更新
所以我想在数组id
中搜索,我可以获得新ID的结果2
另一个例子:
$id=array(0,1,2,3,6);
- >新id=4
$id=array(0,1,2,3,4,6);
- >新id=5
$id=array(0,1,2,3,4,5);
- >新id=6
我制作此代码但不起作用
$arr1 = $this->login->get_user_id(3);
$arr2 = range(0,max($arr1));
$missing = array_diff($arr2,$arr1);
if (empty($missing)) {
echo max($arr1);
}else{
echo min($missing);
}
感谢所有人,感谢您回答我的问题,
所以我的代码和$arr1
中的数据是000,001,002...
所以我想从数据库中读取我的id,缺少一个数字,所以我可以从编号中获取所有id,因为如果只有一个数字是当我在另一个进程中更新id时它会丢失,这对于我的系统而言是荒谬的
答案 0 :(得分:1)
所有错过的ID的数组。如果你想要分钟,请$missed[0]
$id=array(0,1,3,6,7);
$missed = array_diff(range(0, max($id)), $id);
$new = $missed ? $missed[0] : max($id)+1;
var_dump($missed); // (2,4,5)