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

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

Mary-Kate Olsen
リリース: 2024-12-09 04:25:11
オリジナル
657 人が閲覧しました

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 までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート