检查是否至少有一个变量在php中有值


Check if atleast of the variables have a value in php

php/magento中有两个变量如下

$currentA = $advert->getA();
$currentB = $advert->getB();

我要确保其中至少有一个值....基本上是一个验证,以确保其中至少有一个有值。我做的对吗?

   $currentA = $advert->getA();
   $currentB = $advert->getB();
   if (!($currentA != '' || $currentB !== '')) {
           echo "do something";
   }

实际情况要复杂得多。与SQL字段一样,php变量也可以为NULL,并且在访问数据时生成警告。

所以使用empty(var),因为它会测试所有可能的空条件,并且不会在变量声明中没有值时给出警告。

   if (!(empty($currentA) || empty($currentB))) {
           echo "do something";
   }

以下内容被认为为空:

  • "(空字符串)
  • 0(0为整数)
  • 0.0(0为浮点数)"
  • 0"(0作为字符串)
  • array()(空数组)
  • $ var;(已声明的变量,但没有值)

您不需要!,因为如果它们中的任何一个有值,它将返回true,并且!操作符检查此条件是否为假,因此它将与预期相反地工作。你应该试试

if ($currentA || $currentB) {
       echo "do something";
}