fork download
  1. <?php
  2.  
  3.  
  4. $ar1 = array( 0=>'a', 2=>'b', 5=>'c', 6=>'d');
  5.  
  6. $ar2 = fill_missing_keys($ar1);
  7.  
  8. print_r($ar1);
  9. print_r($ar2);
  10.  
  11.  
  12.  
  13.  
  14. function fill_missing_keys($array)
  15. {
  16. $arr_keys = array_keys ($array);
  17. $all_keys = range(0, max($arr_keys));
  18. $missing_keys = array_diff($all_keys, $arr_keys);
  19. $zero_array = array_fill_keys ($missing_keys, '0');
  20. $filled_array = $array + $zero_array;
  21. ksort($filled_array);
  22. return $filled_array;
  23. }
  24.  
  25.  
  26. ?>
Success #stdin #stdout 0.02s 13112KB
stdin
Standard input is empty
stdout
Array
(
    [0] => a
    [2] => b
    [5] => c
    [6] => d
)
Array
(
    [0] => a
    [1] => 0
    [2] => b
    [3] => 0
    [4] => 0
    [5] => c
    [6] => d
)