先日投稿した記事において、
結論として、
boolean型は文字列の 'true' 'false' に直してからインサートしようぜ!
と締めた。
そこで、boolean型を文字列型にキャストしようと思ったのだが、それもまた苦戦したって話を書く。
true false を文字列型にキャストしてみた結果
文字列型でキャストしたら 'true' 'false' になるって普通思うじゃん?
文字列型にキャストしてみた結果
$true = true;
$false = false;
var_dump($true); // bool(true)
var_dump($false); // bool(false)
var_dump((string) $true); // string(1) "1"
var_dump((string) $false); // string(0) ""
true → "1"
false → ""
になった()
結論
true → 'true'
false → 'false'
にしたい場合は、もうif文とか三項演算子で変換しよう(他にやり方あればコメントください)
ついでに数値型にキャスト
数値型にキャスト
$true = true;
$false = false;
var_dump((int) $true); // int(1)
var_dump((int) $false); // int(0)
こっちは直感的でわかりやすい