在数组中搜索并返回php

时间:2015-06-21 17:02:51

标签: php mysql arrays

我希望从数据库中搜索数组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时它会丢失,这对于我的系统而言是荒谬的

1 个答案:

答案 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)