Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php内联if语句不工作_Php - Fatal编程技术网

php内联if语句不工作

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)) ?

我不确定我做错了什么,但是内联if语句总是返回true,即使它不应该返回true

我有以下声明

就在这个语句上面,我回显$total,它回显0

在页面顶部,我定义 ,因此$total被定义为整数

上述if语句仅在$total>64时返回false,而在total为0时不返回false

提前感谢

这很有效

<?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'; ?>