ページ要素を表示または非表示にするフラグを設定しようとしていますが、式が false の場合でも常に表示されます。
$canMerge = ($condition1 && $condition2) ? 'true' : 'false';
...
<?php if ($canMerge) { ?>Stuff<?php } ?>
調子はどう?
ページ要素を表示または非表示にするフラグを設定しようとしていますが、式が false の場合でも常に表示されます。
$canMerge = ($condition1 && $condition2) ? 'true' : 'false';
...
<?php if ($canMerge) { ?>Stuff<?php } ?>
調子はどう?
これは、文字列としての 'false' がブール値として true に評価されるため、壊れています。
ただし、結果の値は単純な true と false であるため、これは不要な 3 項式です。これは同等です:
$canMerge = ($condition1 && $condition2);
「偽」の値は真です。引用符を削除する必要があります。
$canMerge = ($condition1 && $condition2) ? true : false;
特に PHP の動作に矛盾があるため、私には妥当な質問のように思えます。
たとえば、次のコードは 'its false' を出力します。
$a = '0';
if($a)
{
echo 'its true';
}
else
{
echo 'its false';
}