Some of the tests actually had results that are not fully correct.
This peace of code actually returns
true on PHP7 while it returns
false on PHP 8:
$array = ['a' => 'b']; return array_keys($array) == array_keys(array_fill(0, count($array), true)); // ['a'] == 
=== instead should have the same result on both versions.
If I understand the code correct it tries to check for default numeric indices. Comparing with
=== requires the keys to be of the same type and in the same order. Imho that should be correct as an array with shuffled order should imho not be handled as having default indices.