PHPのarray_is_list
関数について書いています。
array_is_list
関数は、配列が「リスト」であるかどうかを判定します。この関数はPHP8.1以降で導入されました。
「リスト」は単純に文字列や数値などが並んでいるだけの配列です。
インデックスが数値であり、キーが順番に0, 1, 2, ...
となっているものを指します。
array_is_list関数の基本的な使い方
array_is_list
関数は、与えられた配列がリストであるかどうかをboolean
値で返します。
基本的な構文は以下のとおりです。
array_is_list(array $array): bool
$array
: 確認する配列。- 任意の型の値を要素とする配列を指定します。
array_is_list関数の戻り値
array_is_list
関数の戻り値は、与えられた配列がリスト形式である場合はtrue
そうでない場合はfalse
を返します。
リスト形式の配列を確認する
リスト形式かどうか、配列を判定してみます。
<?php
$listArray = ['apple', 'banana', 'orange'];
$isList = array_is_list($listArray);
if ($isList) {
echo "この配列はリスト形式です。\n";
} else {
echo "この配列はリスト形式ではありません。\n";
}
// 結果:この配列はリスト形式です。
?>
最初に文字列の配列を作成して、次の処理でarray_is_list
関数を使っています。
今回の配列($listArray
)はキーが0, 1, 2
と連続しているため、リストと判定されてarray_is_list
関数はtrue
を返します。
結果「この配列はリスト形式です。
」が出力されます。
連想配列を確認する
連想配列に対して、array_is_list
関数を使ってみます。
<?php
$assocArray = ['a' => 'apple', 'b' => 'banana', 'c' => 'orange'];
$isList = array_is_list($assocArray);
if ($isList) {
echo "この配列はリスト形式です。\n";
} else {
echo "この配列はリスト形式ではありません。\n";
}
// 結果:この配列はリスト形式ではありません。
?>
連想配列($assocArray
)をarray_is_list
関数に渡すと
文字列のキーを持っているため、array_is_list
関数はfalse
を返します。
キーが連続していない数値添字配列を確認する
キーが連続していない数字インデックスの配列を使ってみます。
<?php
$nonConsecutiveArray = [0 => 'apple', 2 => 'banana', 3 => 'orange'];
$isList = array_is_list($nonConsecutiveArray);
if ($isList) {
echo "この配列はリスト形式です。\n";
} else {
echo "この配列はリスト形式ではありません。\n";
}
// 結果:この配列はリスト形式ではありません。
?>
配列($nonConsecutiveArray
)はキーが0, 2, 3
と連続していないため、array_is_list
関数はfalse
を返します。
この配列が「[0 => 'apple', 1 => 'banana', 2 => 'orange']
」と連続した数字だった場合はtrue
になります。
空の配列を確認する
空配列の場合にもtrue
になるので、注意が必要です。
<?php
$emptyArray = [];
$isList = array_is_list($emptyArray);
if ($isList) {
echo "この配列はリスト形式です。\n";
} else {
echo "この配列はリスト形式ではありません。\n";
}
// 結果:この配列はリスト形式です。
?>
空の配列はキーが0
から始まる連続した整数キーを持つとみなされるため、array_is_list
関数はtrue
を返します。
PHPのarray_is_list関数の使い方まとめ
今回はPHPのarray_is_list
関数の使い方について解説しました。
この記事の内容をまとめます。
・リスト形式の場合は`true`、そうでない場合は`false`を返す。
・配列の形式に応じて処理を分岐させたい場合に便利。
・PHP8.1 以降で使用可能。
コメント