関数の概要
array_is_listは、PHPの配列がリスト形式(0から始まる連続した整数の添字を持つ配列)かどうかを判定する関数です。リスト形式の配列かどうかを簡単にチェックできるため、配列の構造に応じた処理を分けたい場合に便利です。
パラメータの説明
array(必須): 判定したい配列を指定します。
戻り値
配列がリスト形式の場合は true を返し、それ以外(連想配列やキーが不連続な場合)は false を返します。
使用例
基本的な使い方
<?php
$array1 = [10, 20, 30];
var_dump(array_is_list($array1)); // true
$array2 = [1 => 'a', 2 => 'b', 3 => 'c'];
var_dump(array_is_list($array2)); // false
?>
この例では、$array1は添字が連続した整数(0, 1, 2)なのでリストと判定されますが、$array2は添字が1から始まっているためリストではないと判定されます。
連想配列との比較
<?php
$array3 = ['a' => 1, 'b' => 2];
var_dump(array_is_list($array3)); // false
?>
連想配列は連続した整数の添字を持たないため、array_is_listは false を返します。
途中に欠けた添字がある場合
<?php
$array4 = [0 => 'x', 2 => 'y'];
var_dump(array_is_list($array4)); // false
?>
添字が不連続(0の次が2)なのでリスト形式ではないと判定されます。
関連する関数
is_array– 変数が配列かどうかを調べる関数array_keys– 配列のキーを取得する関数array_values– 配列の値を連続した添字の配列として取得する関数
まとめ
array_is_listは、配列がリスト形式かどうかを簡単に判定できるPHP標準関数です。特に配列の添字が0から連続しているかどうかをチェックしたいときに役立ちます。リスト形式は多くの処理で想定される形なので、実務での配列管理やデータ検証にぜひ活用してください。
