LoginSignup
0
0

はじめに

こんにちは、まりあ様です^^

PHP触ってて衝撃的だったことをメモがてら、残します。

echoでのboolean型出力

例えば、期待値としてtrue、falseが返却される以下のソースコードがあるとします。

$testTrue = true;
$testFalse = false;

echo $testTrue;     // 想定している返却値は、true
echo $testFalse;    // 想定している返却値は、false

これを実際に出力すると、、、、

1   // true
""  // false

となるんです。。。。
もうこれ、JavaScriptとかかじったくらいで、console.logでとりあえずなんでも中身見る人なので、衝撃でした。
なんで、1とか空文字で返ってきてんの?boolean型のはずなのに?とか混乱しちゃいましたw

var_dumpでの出力

var_dumpで出力するとどうなるか???

$testTrue = true;
$testFalse = false;

echo $testTrue;     // 想定している返却値は、true
echo $testFalse;    // 想定している返却値は、false

これを実際に出力すると、、、、

bool(true)    // true
bool(false)   // false

var_dumpだと、ちゃんとtrue、falseで返ってくるみたいです!

まとめ

超~~ざっくりほんとに自分用メモですが、その日悩んだことが解決したすごい発見だったのでまとめておきました。

これ知らずに、echoで中身確認して、
if ($testTrue === 1) {

みたいなif文書いて、期待通りの動きをしない、なんてことがありました。
今度から同じ失敗はしないように、アウトプットしておきました。
アメリカ大陸発見した並の衝撃でした。
以上、ほんとの自分用メモ(まとめとかの文章ひどい)でしたが、読んでくださった方はお付き合いありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0