PHP における連想配列と順次配列の決定
PHP ではすべての配列が連想配列として維持されるため、連想配列と順次配列を区別するための代替方法の必要性が生じます。配列、特に次から始まる数値キーのみを含む配列0.
解決策: array_is_list() 関数
PHP 8.1 では、array_is_list() 関数が導入され、簡単な解決策が提供されます。
var_dump(array_is_list([])); // true var_dump(array_is_list(['a', 'b', 'c'])); // true var_dump(array_is_list([0 => 'a', 1 => 'b', 2 => 'c'])); // true var_dump(array_is_list([1 => 'a', 0 => 'b', 2 => 'c'])); // false var_dump(array_is_list(['a' => 'a', 'b' => 'b', 'c' => 'c'])); // false
レガシー用のカスタム関数コード:
PHP 8.1 をサポートしていないレガシー コードを使用する場合は、次のカスタム関数を使用できます:
function array_is_list(array $arr) { if ($arr === []) { return true; } return array_keys($arr) === range(0, count($arr) - 1); }
この関数は、array_is_list( ) 関数を使用して、異なる PHP バージョン間での移植性を高めます。
以上がPHP で連想配列と順次配列を区別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。