// given array. 3 and 6 are missing.
$arr1 = array(1,2,4,5,7); 

// construct a new array:1,2....max(given array).
$arr2 = range(1,max($arr1));                                                    

// use array_diff to get the missing elements 
$missing = array_diff($arr2,$arr1); // missing 3 and 6

Практическое применение:

// Найдем недостающие uid(users identificators) в БД
$servername = "localhost";
$dbname = "your_db";
$username = "root";
$password = "";

$conn = new mysqli($servername, $username, $password, $dbname);

$sql = "SELECT * FROM users";
$result = $conn->query($sql);

// we know our DB users quantity is not greater than 10000
while($row = $result->fetch_assoc()) if($i++ < 10000) {
    $uidArray[] = $row['uid']; // write every uid in array
}

$arr2 = range(0,max($uidArray));
$missing = array_diff($arr2,$uidArray);

// выведем все недостающие uid
foreach($missing as $key => $val) {
    print $val . ', ';
}

Выразить благодарность

Если эта публикация оказалась для Вас полезной и вы хотите выразить свою благодарность, сделайте пожалуйста её репост в социальных сетях или на своём сайте.

Так же, Вы можете перевести любую сумму, которую посчитаете нужной на наш счёт, что сильно мотивирует к написанию новых полезных статей.

Комментарии: