У меня есть две переменные в 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"; }
Следующие вещи считаются пустыми:
Тебе не понадобится !
потому что, если у любого из них есть значение, оно вернет true, а значение !
оператор проверяет, является ли это условие ложным, поэтому он будет работать противоположно тому, когда это предполагается. Ты должен попытаться
if ($currentA || $currentB) { echo "do something"; }