$testの中に変数が入っているかどうか・・・
これを確認する方法はいくつかありますが、昔からあるのが
http://php.net/manual/ja/function.isset.php
という関数。
これは中に何か入っていれば true で何も無ければ false を返すものです。
他には
http://php.net/manual/ja/function.empty.php
という関数があります。
実際のところほとんど使わないけど。
issetはnullでも入ってればtrueになったりemptyは未定義やnullの場合もtrueを返すので使いどころは要注意ですが。
で、どっちが早いか見てみた。
単純に10万回まわしてみただけだけど。
まずempty
$test = "hogehoge";
// 開始時間
$startTime = microtime(true);
for( $i = 0; $i < 100000; $i++ )
{
$result = empty($test);
}
// 終了時間
$endTime = microtime(true);
echo $endTime - $startTime . ' second';
$test = "hogehoge";
// 開始時間
$startTime = microtime(true);
for( $i = 0; $i < 100000; $i++ )
{
$result = isset($test);
}
// 終了時間
$endTime = microtime(true);
echo $endTime - $startTime . ' second';
関連記事