<?php
function isIndexNormalized($array){
$array[] = 'aux';
return (array_key_last($array) - array_key_first($array) + 1) === count($array);
}
// -------
$array = [0, 1, 2, 3];
unset($array[3]);
var_dump(isIndexNormalized($array));
$array[] = "x";
var_dump([0, 1, 2, "x"] === $array, $array);
echo "\n\n\n\n"; // -------
$array = [0, 1, 2];
var_dump(isIndexNormalized($array));
$array[] = "x";
var_dump([0, 1, 2, "x"] === $array, $array);
echo "\n\n\n\n"; // -------
$array = [4 => 0, 5 => 1, 6 => 2];
var_dump(isIndexNormalized($array));
$array[] = "x";
var_dump([4 => 0, 5 => 1, 6 => 2, 7 => "x"] === $array, $array);
echo "\n\n\n\n"; // -------
//This one fails though, but it will work on PHP8 :P
$array = [-6 => 0, -5 => -2, -4 => 2];
var_dump(isIndexNormalized($array));
$array[] = "x";
var_dump([-6 => 0, -5 => 1, -4 => 2, -3 => "x"] === $array, $array);
preferences:
25.23 ms | 406 KiB | 5 Q