PHP,如果语句变量具有值

时间:2018-10-01 20:06:54

标签: php

嗨,我有一些简单的代码,但是如果条件中没有值,我就无法获得条件。

$widgetcalc = ['widgetcalc'];



<?php
  if ($widgetcalc == 1) {
    require('includes/calculator.php');
}

?>

基本上我在数据库中有一个值为1或0的值。在这种情况下,我认为如果1实际存在,则它为= true,但是如果数据库中的值等于1,我怎么得到? >

3 个答案:

答案 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 }