ホームページ > バックエンド開発 > PHPチュートリアル > PHP で連想配列と順次配列を区別するにはどうすればよいですか?

PHP で連想配列と順次配列を区別するにはどうすればよいですか?

DDD
リリース: 2025-01-01 07:13:11
オリジナル
278 人が閲覧しました

How Can I Distinguish Between Associative and Sequential Arrays in PHP?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート