php内联if语句不工作
我不确定我做错了什么,但是内联if语句总是返回true,即使它不应该返回true 我有以下声明 就在这个语句上面,我回显$total,它回显0 在页面顶部,我定义 ,因此$total被定义为整数 上述if语句仅在$total>64时返回false,而在total为0时不返回false 提前感谢这很有效php内联if语句不工作,php,Php,我不确定我做错了什么,但是内联if语句总是返回true,即使它不应该返回true 我有以下声明 就在这个语句上面,我回显$total,它回显0 在页面顶部,我定义 ,因此$total被定义为整数 上述if语句仅在$total>64时返回false,而在total为0时不返回false 提前感谢这很有效 <?php $total = 0; echo ($total === 'Scratched' || ($total > 0 && $total < 65)) ?
<?php
$total = 0;
echo ($total === 'Scratched' || ($total > 0 && $total < 65)) ? 'ffefef' : 'f7f7f7';
?>
这是因为0=='Scratched'
根据你的具体情况。如果我理解得很好的话。如果它为0,您所在的州不会接受它为false 上面的代码应该可以工作。但请尝试显式添加不等于零的值:
echo ($total === 'Scratched' || ($total > 0 && $total < 65 && $total != 0)) ? 'ffefef' : 'f7f7f7';
还添加了===以确保字符串类型的第一条语句
使用===比较$total==='Scratched',这将得到修复
<?php echo ($total === 'Scratched' || ($total > 0 && $total < 65)) ? 'ffefef' : 'f7f7f7'; ?>
您可以尝试进行严格比较:
<?php echo ($total === 'Scratched' || ($total > 0 && $total < 65)) ? 'ffefef' : 'f7f7f7'; ?>
由于将数值变量与字符串进行比较,因此该字符串在数值上下文中求值,表示0
您可以查看以下帖子:
@MarkBaker,但问题中没有嵌套的三元组,可能是
<?php echo ($total === 'Scratched' || ($total > 0 && $total < 65)) ? 'ffefef' : 'f7f7f7'; ?>