Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

PHP program to find missing element(s) from an array

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

We have to find element(s) in array that are missing from an array in range from array minimum to array maximum.

Examples:

Input : arr[] = (1, 2, 3, 4, 6, 7, 8)
Output : 5
The array minimum is 1 and maximum is
8. The missing element in range from
1 to 8 is 5.

Input : arr[] = (10, 11, 14, 15)
Output : 12, 13

This problem can be solved by iterating in an array by observing the contiguous difference between elements. But in PHP we can make use of some inbuilt functions to solve the problem.

We will have to use the below two functions for this purpose:

  1. range() function: This function is used to create an array of elements of any kind such as integer, alphabets within a given range(from low to high) i.e, list’s first element is considered as low and last one is considered as high.
  2. array_diff() function: if we have an array of elements, we can find missing element(s) by comparing two arrays.

The idea to solve this problem using two inbuilt functions is to, first use range() function to create a new array from starting element and maximum element of original array using max() function. After this we apply array_diff() function to compare newly created array and original array thus getting all the missing elements of the original array.




<?php
    // PHP code to find missing elements
  
    function not_present($list)
    {
        // Create an array with range from array 
        // minimum to maximum.
        $new_array = range(min($list), max($list));
  
        // Find those elements that are present
        // in new_array but not in given list
        return array_diff($new_array, $list);
    }
  
    // Driver code
    print_r(not_present(array(1, 2, 3, 4, 7, 8)));
    print_r(not_present(array(10, 11, 12, 14, 15, 16)));    
?>

Output:

Array
(
    [4] => 5
    [5] => 6
)
Array
(
    [3] => 13
)
My Personal Notes arrow_drop_up
Last Updated : 11 Mar, 2018
Like Article
Save Article
Similar Reads
Related Tutorials