Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find missing numbers in array

Tags:

I'm trying to find each missing number in an array like the following.

Array (    [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8    [8] => 9 [9] => 10 [10] => 11 [11] => 12 [12] => 13 [13] => 14 [14] => 15    [15] => 16 [16] => 17 [17] => 18 [18] => 19 [19] => 20 [20] => 21 [21] => 22    [22] => 23 [23] => 24 [24] => 25 [25] => 26 [26] => 27 [27] => 28 [28] => 29    [29] => 30 [30] => 31 [31] => 32 [32] => 33 [33] => 34 [34] => 35 [35] => 36    [36] => 37 [37] => 38 [38] => 39 [39] => 40 [40] => 41 [41] => 42 [42] => 43    [43] => 44 [44] => 45 [45] => 46 [46] => 47 [47] => 48 [48] => 49 [49] => 50    [50] => 51 [51] => 52 [52] => 53 [53] => 54 [54] => 55 [55] => 56 [56] => 57    [57] => 58 [58] => 59 [59] => 60 [60] => 61 [61] => 62 [62] => 63 [63] => 64    [64] => 67 [65] => 68 [66] => 69  ) 

The numbers 65,66 are missing in this particular array.

My question how do I figure out which numbers are missing with the help of PHP. Specifically what I need to find out is the lowest missing number.

Why: Because then I can assign that number to a member as an id.

like image 334
nickifrandsen Avatar asked Nov 12 '10 09:11

nickifrandsen


People also ask

How can we find missing number in array in PHP?

PHP Code :function missing_number($num_list) { // construct a new array $new_arr = range($num_list[0],max($num_list)); // use array_diff to find the missing elements return array_diff($new_arr, $num_list); } print_r(missing_number(array(1,2,3,6,7,8))); print_r(missing_number(array(10,11,12,14,15,16,17))); ?>


1 Answers

You can make use of array_diff and range functions as:

// 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); // (3,6) 
like image 173
codaddict Avatar answered Oct 02 '22 15:10

codaddict