我正在尝试检查变量值是false还是true,这是我的代码
$print_ready_flag = $_GET['print_ready']; // i'm passing it as either true or false
echo $print_ready_flag ; // I'm getting correct value
我想做的是,
if ($print_ready_flag == false) {
file_name = "albumpdf_" . $Order['products_name'] . "_" . $OrderId . "_" . $OrderPId . ".pdf";
}
当做上述表达时正在评估,但当我尝试
时if(!$ print_ready_flag){,
if(!(bool)$ print_ready_flag)
。表达式没有评估。是否有任何方法可以使用比较运算符来评估表达式。
答案 0 :(得分:1)
$print_ready_flag = $_GET['print_ready'];
echo $print_ready_flag ; // I'm getting correct value
$print_ready_flag = filter_var($print_ready_flag, FILTER_VALIDATE_BOOLEAN);
if ($print_ready_flag == false) {
file_name = "albumpdf_" . $Order['products_name'] . "_" . $OrderId . "_" . $OrderPId . ".pdf";
}
答案 1 :(得分:1)
那么你的所有条件都很好看。你必须在你的代码中添加php`error_reporting(),这将帮助你找到语法和警告。
你这里有一个错字:
// missing $ sign
file_name = "albumpdf_" . $Order['products_name'] . "_" . $OrderId . "_" . $OrderPId . ".pdf";
最好使用print_ready=0
代替print_ready=false
$_GET
。
否则,您必须与===
核对value+dataType