首页 > 解决方案 > 如何在查询绑定中将布尔值转换为字符串?

问题描述

在存储库中,我构建了一个查询并且我想绑定值,但我需要将 $isAllowed 布尔值转换为字符串('true'、'false' 或 'null')。如何以正确的方式做到这一点?

':isAllowed' => $isAllowed,

标签: php

解决方案


您可以分配一个新变量或使用现有变量,如下所示:

$isAllowed_str = $isAllowedBool ? 'true' : 'false';

对于 NULL 值,它应该被认为是 false:

转换为 bool 时,以下值被视为 false:

布尔值 false 本身 整数 0(零) 浮点数 0.0 和 -0.0(零) 空字符串和字符串“0” 具有零元素的数组 特殊类型 NULL(包括未设置的变量) 从无属性的空元素创建的 SimpleXML 对象,即既没有子元素也没有属性的元素。

来源:https ://www.php.net/manual/en/language.types.boolean.php

如果您需要分隔空值,您可以在将 bool 转换为 str 之前使用 if 语句进行检查:

if(is_null(isAllowedBool)) {
   $isAllowed_str = "NULL";
}
else {
   $isAllowed_str = $isAllowedBool ? 'true' : 'false';
}

推荐阅读