查找阵列中的第一个可用ID

Tat*_*nen 3 php arrays

给定这样的数组:

Array => (
  [0] => 1,
  [1] => 2,
  [2] => 3,
  [3] => 5,
  [4] => 6
)
Run Code Online (Sandbox Code Playgroud)

找到该数组中第一个"可用"ID的最简单方法是什么 - 也就是说,序列[1,2,3...n]中第一个不存在于数组中的值?在这种情况下,正确的答案是4.

我可以使用一些while循环或使用临时变量进行排序,但这有点混乱,所以我很想知道是否有人能想出一个"聪明"的解决方案.

And*_*y E 6

我的PHP技能有点生疏,但你不能使用rangearray_diff:

$missing = array_diff(range(1, end($myArray)+ 1), $myArray);
echo $missing[0];
Run Code Online (Sandbox Code Playgroud)

更新了Tatu Ulmanen的更正(我告诉你我的PHP生锈了;-))