为什么我的三元表达不起作用?
时间:2020-03-05 18:37:39 来源:igfitidea点击:
我试图设置一个标志以显示或者隐藏页面元素,但是即使表达式为false,它也始终显示。
$canMerge = ($condition1 && $condition2) ? 'true' : 'false'; ... <?php if ($canMerge) { ?>Stuff<?php } ?>
这是怎么回事?
解决方案
回答
" false"的值为true。我们需要删除引号:
$canMerge = ($condition1 && $condition2) ? true : false;
回答
这是被破坏的,因为作为字符串的'false'将作为布尔值评估为true。
但是,这是不需要的三元表达式,因为结果值是简单的true和false。这将是等效的:
$canMerge = ($condition1 && $condition2);