【发布时间】:2014-02-06 15:27:08
【问题描述】:
我正在尝试将一个假布尔值存储到一个数组中,以将其作为 PDO 准备语句中的值传递:
$a = Array('bool' => '0');
if($a['bool'] === '1') {
$a['bool'] = true;
}
else {
$a['bool'] = false;
}
print_r($a);
结果是:
Array
(
[bool] =>
)
我希望:
Array
(
[bool] => 0
)
因为如果我存储一个真正的布尔值,print_r 函数会将true 打印为“bool”的值。
$['bool'] 为空不会向我的 bit 字段发送 false 值并使我的查询无效。
传递的值是:
$sth->execute( $a );
我该如何解决这个问题?
对于谁说“使用 1 和 0”,好吧,PDO 不接受整数 1 和 0 作为布尔值,它需要真正的布尔值。
【问题讨论】:
-
使用整数 0 或 1 表示 false 或 true。它会像布尔值一样工作