php is_arrayで配列であるかを判定する
phpで、is_arrayを使用して、配列であるかを判定するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
is_array使い方
is_arrayを使用すれば、配列であるかを判定することが可能です。
is_array(変数);
// 配列であれば true, なければ falseを返します。
以下は、変数が配列であるかを判定するサンプルコードとなります。
<?php
$arr = [];
$result = is_array($arr);
var_dump($result); // bool(true)
$arr = [1, 2, 3];
$result = is_array($arr);
var_dump($result); // bool(true)
$arr = ["aaa" => 1, "bbb" => 2, "ccc" => 3];
$result = is_array($arr);
var_dump($result); // bool(true)
$arr = [[1, 2, 3], [4, 5, 6]];
$result = is_array($arr);
var_dump($result); // bool(true)
$num = 1;
$result = is_array($num);
var_dump($result); // bool(false)
$obj = new stdClass;
$result = is_array($obj);
var_dump($result); // bool(false)
以下のコードでも判定可能です。
<?php
$var = [];
var_dump((array)$var === $var); // bool(true)
$var = ["aaa" => 1, "bbb" => 2, "ccc" => 3];
var_dump((array)$var === $var); // bool(true)
$var = 1;
var_dump((array)$var === $var); // bool(false)
パフォーマンスは、is_arrayの方が良さそうです。
【参考】 同じコードを1000万回実行した結果
【trueを返す場合】
測定結果 : (array)
process time: 0.68906 ミリ秒
測定結果 : is_array
process time: 0.59211 ミリ秒
【falseを返す場合】
測定結果 : (array)
process time: 0.85024 ミリ秒
測定結果 : is_array
process time: 0.53473 ミリ秒
-
前の記事
javascript lodashを使って構造型を判定する 2021.11.07
-
次の記事
Ruby ハッシュにmapを使用してハッシュ化する 2021.11.07
コメントを書く