假设你有一个数组“value => timestamp”。这些值随时间而增加,但可随时重置。如何使用PHP在序列中查找缺失值?
例如:
$array = array(
1 => 6000,
2 => 7000,
3 => 8000,
7 => 9000,
8 => 10000,
9 => 11000,
55 => 1000,
56 => 2000,
57 => 3000,
59 => 4000,
60 => 5000,
);
我想检索该阵列中的所有缺失的数值。
这个例子将返回:
array(4,5,6,58)
我不想9和55之间的所有值,因为9比其他更高的值更新。
在真实情况下,脚本将处理数千个值,因此它需要高效。
感谢您的帮助!
UPDATE: 初始阵列可以由时间戳来排序,如果它是用于该算法更容易。
更新2: 在我的例子中的值是UNIX时间戳,以他们看起来更像是这样的:1285242603但可读性原因,我简化它。
这很容易做...你尝试过吗?如果是这样,你失败了? – 2010-09-23 11:28:30
10,11,...,53,54呢? – Gumbo 2010-09-23 11:28:32
您需要对它进行迭代,并在获取每个元素时应用您的条件。似乎有一个奇怪的要求。 – 2010-09-23 11:34:39