function optional_arraykey_to_int_cast_for_switch()

in src/legacy_fixme/coercions.php [438:443]


function optional_arraykey_to_int_cast_for_switch(?arraykey $value)[]: int {
  if ($value is null) return 0;
  if ($value is string) $value = \HH\str_to_numeric($value) ?? 0;
  if ($value is int) return $value;
  return Math\floor($value) === $value ? (int)$value : SWITCH_INT_SENTINEL;
}