给定一个数组是这样的:从阵列中找到第一个可用的ID
Array => (
[0] => 1,
[1] => 2,
[2] => 3,
[3] => 5,
[4] => 6
)
什么是找到阵列–就是序列[1,2,3...n]
的第一个值在第一个“可用” ID的最简单方法那在数组中不存在?在这种情况下,正确的答案是4
。
我可以使用一些while循环或使用临时变量进行排序,但这有点麻烦,所以我很想看看有没有人能想出一个'聪明'的解决方案。
+1这是我原本想给出的那种答案,虽然不知道“范围”,但自己创建序列阵列确实很麻烦。但是,您可能必须使用'array_keys($ myArray)'作为第一个参数,并考虑数组中没有孔的可能性。 – middus 2010-03-11 11:04:17
这只是我正在寻找的解决方案。这应该使用一个更正:'end($ myArray)'而不是'count($ myArray)',因为count可能小于数组中的最大值。 – 2010-03-11 11:05:48
@Tatu:好点,修正:-) – 2010-03-11 11:09:12