php is_stringでstring型であるかを判定する
phpで、is_stringを使用して、string型であるかを判定するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
is_string使い方
is_stringを使用すれば、string型であるかを判定することが可能です。
is_string(変数);
// string型であれば true, なければ falseを返します。
以下は、変数がstring型であるかを判定するサンプルコードとなります。
<?php
var_dump(is_string("str"));
// bool(true)
var_dump(is_string("1"));
// bool(true)
var_dump(is_string("1.1"));
// bool(true)
var_dump(is_string(1));
// bool(false)
var_dump(is_string(1.1));
// bool(false)
var_dump(is_string(true));
// bool(false)
var_dump(is_string(false));
// bool(false)
var_dump(is_string(["1", "2", "3"]));
// bool(false)
var_dump(is_string(new stdClass));
// bool(false)
var_dump(is_string(null));
// bool(false)
var_dump(is_string(fopen('hoge.txt', 'r+')));
// bool(false)
以下のコードでも判定可能です。
※パフォーマンスは、基本的にis_stringの方が良さそうです。
<?php
$var = "a";
var_dump(!is_array($var) && !is_object($var) && (string)$var === $var);
// bool(true)
$var = 1;
var_dump(!is_array($var) && !is_object($var) && (string)$var === $var);
// bool(false)
【参考】 数値をstring型であるかを判定したコードを1000万回実行した計測結果
実行結果
測定結果 : is_string
process time: 0.54697 ミリ秒
測定結果 : (string)
process time: 0.70826 ミリ秒
-
前の記事
Linux コマンドのパスを確認する 2021.11.07
-
次の記事
javascript イベント発生元のフローを取得する 2021.11.08
コメントを書く