嗨,我有一些简单的代码,但是如果条件中没有值,我就无法获得条件。
$widgetcalc = ['widgetcalc'];
<?php
if ($widgetcalc == 1) {
require('includes/calculator.php');
}
?>
基本上我在数据库中有一个值为1或0的值。在这种情况下,我认为如果1实际存在,则它为= true,但是如果数据库中的值等于1,我怎么得到? >
答案 0 :(得分:1)
您在赋值运算符=
和比较运算符==
之间感到困惑。使用==
代替=
来比较值。另外,您需要使用count()
函数,因为您将$widgetcalc
声明为数组。
使用相同比较运算符===
甚至更好。它将确保值的数据类型也匹配,除了匹配值
参考:Comparison Operators (PHP Doc)
if (count($widgetcalc) == 1) {
OR
if (count($widgetcalc) === 1) {
答案 1 :(得分:0)
在许多编程语言中,=
是赋值,而==
是比较。
学会发现差异,并敏锐地了解=
何时出现在if
语句中,以了解这是否是正确的意图。
如果您仅关注1比0,则安全版本为:
if ($widgetcalc)
通常情况下就足够了,除非您需要字面量为零。
但是,在您的代码中,您正在检查数组是否具有任何元素,这是不同的:
if (count($widgetcalc))
使用count
函数的位置。
答案 2 :(得分:0)
首先,您可以尝试使用if ($widgetcalc == 1)
代替if ($widgetcalc = 1)
,也可以检查isset()
函数,该函数返回bool值。 if(isset($widgetcalc['widgetcalc'])){ //code here }