Убедитесь, что по крайней мере переменные имеют значение в php

У меня есть две переменные в php / magento, как показано ниже

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

Я хочу удостовериться, что по крайней мере один из них имеет ценность. В принципе, валидация, чтобы убедиться, что по крайней мере одна из них имеет значение. Правильно ли я делаю это?

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

Это сложнее, чем это. Подобно SQL-полям, переменные php также могут быть NULL и генерировать предупреждение при обращении к данным.

Поэтому используйте пустой (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"; }