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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-09 04:25:11628ブラウズ

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

PHP 配列の性質の決定: 連想かシーケンシャル

PHP では、配列は本質的に連想であり、0 から始まる数値キーを区別する組み込みメカニズムがありません (シーケンシャル配列)と任意の文字列キー(連想配列)。この区別は、さまざまなプログラミング シナリオにとって重要です。

シーケンシャル配列と連想配列の識別

配列がシーケンシャルであるかどうかを判断するには、PHP 8.1 で新しく導入された array_is_list() 関数を利用できます。ただし、古い PHP バージョンの場合は、カスタム関数が実用的な代替手段を提供できます。

function array_is_list(array $arr)
{
    if ($arr === []) {
        return true;
    }
    return array_keys($arr) === range(0, count($arr) - 1);
}

この関数は、配列が空かどうか、またはそのキーが 0 から始まる連続した数値シーケンスであるかどうかをチェックします。両方の条件が満たされている場合、

使用例

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 で順次配列と連想配列を区別するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。