首页 > 解决方案 > if else 条件在 PHP 中似乎无法正常工作

问题描述

我被一种奇怪的if else行为困住了,我真的不知道是什么原因造成的!

我正在尝试根据以下某些条件计算一些值:

if ($totalWeight < 500 && $finalCurrency == "INR") {
  echo "45 INR";
} else if ($totalWeight > 500 && $finalCurrency == "INR") {
  echo "100 INR";
} else if ($totalWeight < 500 && $finalCurrency == "USD") {
  echo "4 USD";
} else {
  echo "Unable";
}

这种情况总是跳到else并显示“无法”。我通过打印它们检查了$totalWeight$finalCurrency变量,它们显示得很好。如果他们都很好,那么为什么这种情况总是会发生else

标签: php

解决方案


问题可能是您没有想到可能发生的某些情况。

这是您的代码:

if($totalWeight < 500 && $finalCurrency == "INR") {
    echo "45 INR";
} else if($totalWeight > 500 && $finalCurrency == "INR") {
    echo "100 INR";
} else if($totalWeight < 500 && $finalCurrency == "USD") {
    echo "4 USD";
} else {
    echo "Unable";
}

那么,如果:

  • $totalWeight = 500-> 你去else {}
  • $finalCurrency不同于INRUSD-> 你去else {}

如果你在这种情况下,你会去else {}

因此,添加if($totalWeight <= 500...)OR if($totalWeight >= 500...),您至少应该适合第一种情况。


推荐阅读