array_is_list

関数の概要

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_listfalse を返します。

途中に欠けた添字がある場合

<?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から連続しているかどうかをチェックしたいときに役立ちます。リスト形式は多くの処理で想定される形なので、実務での配列管理やデータ検証にぜひ活用してください。