PHP 配列の連想配列と順次配列の区別
PHP は本質的にすべての配列を連想配列として認識するため、リストのように動作する配列を区別することが困難になります。これを解決するために、配列がリストとして適格であるかどうかを判断するための信頼できる方法を検討します。
リストと連想配列
$sequentialArray = [ 'apple', 'orange', 'tomato', 'carrot' ];
$assocArray = [ 'fruit1' => 'apple', 'fruit2' => 'orange', 'veg1' => 'tomato', 'veg2' => 'carrot' ];
PHP 8.1 および
PHP 8.1 では、配列がリストであるかどうかを簡単にチェックするための array_is_list() が導入されました。
array_is_list($sequentialArray); // true
以前の PHP バージョンのレガシー ソリューション
8.1 より前の PHP バージョンに対応するために、カスタムを定義できます。 function:
function array_is_list(array $arr) { if ($arr === []) { return true; } return array_keys($arr) === range(0, count($arr) - 1); }
関数のテスト
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 配列がシーケンシャル リストであるかどうかを確実に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。