こんにちはフロントエンドエンジニアのまさにょんです!
今回は、PHP の真偽値(true/false)判定について解説していきます。
目次
PHP の真偽値(true/false)判定の一覧
PHP の真偽値(true/false)判定の一覧は、次のとおりです。
PHP の false判定な値は、false, null, 0, '0', '', [ ]
の6つになります。
真偽値で迷わないためには、false判定となるデータを把握しておくのがBestだと思います。
<?php
// [ PHP の真偽値判定の一覧 ]
$dataSet = [ true, false, null, 0, 1, 0.1, 1.1, "0", "1", '',
'robotama', [], [0], (object)[], (object)['robotama'=>'ロボ玉']
];
foreach($dataSet as $val) {
var_export($val);
echo ' の真偽値判定: ';
var_dump((bool) $val);
echo "\n";
}
// [ 実行結果 ]
// true の真偽値判定: bool(true)
// false の真偽値判定: bool(false)
// NULL の真偽値判定: bool(false)
// 0 の真偽値判定: bool(false)
// 1 の真偽値判定: bool(true)
// 0.1 の真偽値判定: bool(true)
// 1.1 の真偽値判定: bool(true)
// '0' の真偽値判定: bool(false)
// '1' の真偽値判定: bool(true)
// '' の真偽値判定: bool(false)
// 'robotama' の真偽値判定: bool(true)
// array (
// ) の真偽値判定: bool(false)
// array (
// 0 => 0,
// ) の真偽値判定: bool(true)
// (object) array(
// ) の真偽値判定: bool(true)
// (object) array(
// 'robotama' => 'ロボ玉',
// ) の真偽値判定: bool(true)
// [ まとめ ]
// false な値 => false, null, 0, '0', '', [] の6つ
[ ] (空配列)は、falseなので要注意!
[ ] (空配列)は、falseなので要注意です。<?php
// PHP の真偽値判定の一覧
$dataSet = [ true, false, null, 0, 1, 0.1, 1.1, "0", "1", '',
'robotama', [], [0], (object)[], (object)['robotama'=>'ロボ玉']
];
// 空配列かそれ以外のfalseな値かの判定関数
function IsEmptyArray ($data) {
if (!is_array($data) && $data == false ) {
echo '空配列以外のfalseな値です!' . "\n";
} else if (is_array($data) && $data == false) {
echo '空配列(false)です!' . "\n";
} else {
echo 'trueな値です!' . "\n";
}
};
foreach($dataSet as $val) {
IsEmptyArray($val);
}
// [ 実行結果 ]
// trueな値です!
// 空配列以外のfalseな値です!
// 空配列以外のfalseな値です!
// 空配列以外のfalseな値です!
// trueな値です!
// trueな値です!
// trueな値です!
// 空配列以外のfalseな値です!
// trueな値です!
// 空配列以外のfalseな値です!
// trueな値です!
// 空配列(false)です!
// trueな値です!
// trueな値です!
// trueな値です!
まとめ
- falseになるデータを把握しておくのがBest
- false判定な値は、false, null, 0, ‘0’, ”, [ ] の6つ
- [ ] (空配列)は、falseなので要注意!
Twitterやってます!Follow Me!
神聖グンマー帝国の逆襲🔥
神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!