【PHP8.x】is_array関数の使い方

is_array関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

is_array関数は、指定された変数が配列(array型)であるかどうかを検査し、その結果を真偽値(trueまたはfalse)で返す関数です。この関数はPHPの標準的な機能として提供されており、プログラム内で変数の型を安全に確認するために頻繁に利用されます。

具体的には、is_array関数は引数として一つの変数を受け取ります。もしその変数がPHPのデータ型の一つである「配列」として認識される場合、この関数は真(true)を返します。反対に、変数が配列ではない場合、例えば整数、文字列、オブジェクト、nullなどであった場合は偽(false)を返します。

この関数を使用することで、後続の処理で配列として扱われるべき変数が実際に配列であるかを事前に確認できます。これにより、意図しない型のデータに対して配列操作を行って発生するエラー(TypeErrorなど)を未然に防ぎ、堅牢で安定したプログラムを作成することが可能になります。特に、ユーザーからの入力や外部システムからのデータを受け取る際に、データの整合性をチェックする上で非常に役立ちます。変数の型チェックを行うことは、安全なプログラミングの基本であり、is_arrayはそのための基本的なツールの一つとして広く活用されています。

構文(syntax)

1<?php
2$value_is_array = [1, 2, 3];
3$result_true = is_array($value_is_array);
4
5$value_is_string = "hello";
6$result_false = is_array($value_is_string);
7?>

引数(parameters)

mixed $value

  • mixed $value: 配列かどうかを判定したい値

戻り値(return)

bool

指定された変数が配列である場合に true を、そうでない場合に false を返します。

サンプルコード

PHP is_array で配列を判定する

1<?php
2
3/**
4 * 変数が配列かどうかをチェックするサンプルコード
5 */
6function checkArrayType($value): void
7{
8  if (is_array($value)) {
9    echo "変数は配列です。\n";
10  } else {
11    echo "変数は配列ではありません。\n";
12  }
13}
14
15// 配列の例
16$array_example = [1, 2, 3];
17checkArrayType($array_example); // 出力: 変数は配列です。
18
19// 文字列の例
20$string_example = "これは文字列です";
21checkArrayType($string_example); // 出力: 変数は配列ではありません。
22
23// 整数の例
24$integer_example = 123;
25checkArrayType($integer_example); // 出力: 変数は配列ではありません。

PHP 8のis_array()関数は、変数が配列かどうかを判定するために使用されます。この関数は引数として任意の型の変数 $value を受け取り、$value が配列であれば true、そうでなければ false を返します。

上記のサンプルコードでは、checkArrayType() という関数を定義し、is_array() 関数を使って変数の型をチェックしています。checkArrayType() 関数は、引数として受け取った変数が配列かどうかを is_array() で判定し、その結果に応じてメッセージを表示します。

具体的には、配列の例として $array_example = [1, 2, 3];checkArrayType() に渡すと、「変数は配列です。」と出力されます。一方、文字列 $string_example = "これは文字列です"; や整数 $integer_example = 123; を渡すと、「変数は配列ではありません。」と出力されます。

この例から、is_array() 関数は変数の型を安全にチェックし、配列に対する処理を行う前に型を確認する際に非常に役立つことがわかります。例えば、配列に対してのみ有効な関数を実行する前に、is_array() を使用して変数が配列であることを確認することで、エラーを未然に防ぐことができます。

is_array()関数は、変数が配列かどうかを判定します。この関数を使う際、変数の型を誤って認識していると、意図しない結果になることがあります。例えば、オブジェクトを配列と勘違いしないように注意が必要です。また、空の配列([])もis_array()関数はtrueを返します。処理によっては、配列の中身が空かどうかを別途確認する必要があります。is_array()は型チェックを行う関数であり、変数の内容まではチェックしないことを覚えておきましょう。

PHPで連想配列かどうかを判定する

1<?php
2
3/**
4 * 連想配列かどうかを判定するサンプルコード
5 */
6
7// 連想配列の例
8$assoc_array = [
9    "name" => "John",
10    "age" => 30,
11    "city" => "New York"
12];
13
14// 通常の配列の例
15$numeric_array = ["apple", "banana", "orange"];
16
17// is_array関数で配列かどうかを判定
18if (is_array($assoc_array)) {
19    echo "assoc_array は配列です。\n";
20} else {
21    echo "assoc_array は配列ではありません。\n";
22}
23
24if (is_array($numeric_array)) {
25    echo "numeric_array は配列です。\n";
26} else {
27    echo "numeric_array は配列ではありません。\n";
28}
29
30// 文字列の例
31$not_array = "This is a string";
32
33if (is_array($not_array)) {
34    echo "not_array は配列です。\n";
35} else {
36    echo "not_array は配列ではありません。\n";
37}

PHPのis_array()関数は、与えられた変数が配列かどうかを判定するために使用します。引数には任意の型の変数 $value を指定します。この関数は、$value が配列の場合には true (真) を、そうでない場合には false (偽) を返します。

このサンプルコードでは、連想配列 $assoc_array、数値添字配列 $numeric_array、そして文字列 $not_array の3つの変数を用意しています。is_array()関数を使って、これらの変数がそれぞれ配列かどうかを判定し、その結果をechoで出力しています。

$assoc_array は、キーと値のペアを持つ連想配列の例です。$numeric_array は、0から始まる数値の添字を持つ通常の配列です。$not_array は配列ではない文字列の例です。

is_array($assoc_array)trueを返し、"assoc_array は配列です。"と出力されます。同様に、is_array($numeric_array)trueを返し、"numeric_array は配列です。"と出力されます。一方、is_array($not_array)falseを返し、"not_array は配列ではありません。"と出力されます。

この関数を使うことで、変数の型をチェックし、配列として処理できるかどうかを事前に確認できます。配列を扱う処理を行う前に、is_array()で型を確認することで、エラーを未然に防ぐことができます。

is_array()関数は、変数が配列かどうかを判定します。連想配列も通常の配列も、PHPでは区別なく配列として扱われるため、どちらもis_array()trueを返します。is_array()は、変数が本当に配列型であるかをチェックするものであり、配列の中身がどうなっているかは関係ありません。配列かどうかを厳密に判定したい場合に役立ちます。文字列や数値などの配列以外の変数を渡すと、falseが返ります。型を意識したプログラミングを心がけましょう。

関連コンテンツ