I got a an array like this $ids = array(3,7,6,5,1,8,11) . How do we know the missing values are 2,4,9,10 ?
My expecting $ids values 1,2,3,4,5,6,7,8,9,10,11 and order doesn't matter, it could be 3,5,6,1,2,4,8,9,10,11.
I don't need to fill my array with the missing values I just want to know who's missing
Here's nice one-liner:
$ids = array(3,5,6,7,8,11);
$missing = array_diff(range(1, max($ids)), $ids);
$numbers = array(3,5,6,7,8,11);
$missing = array();
for ($i = 1; $i < max($numbers); $i++) {
if (!in_array($i, $numbers)) $missing[] = $i;
}
print_r($missing); //1,4,9,10
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With