PHP脚本行为不端

时间:2011-10-16 19:02:34

标签: php

我有一个小脚本,定义了一个名为$prPrice的变量。此脚本无法按照我的意图运行,因为在某些包含特定部门代码的产品中,显示的价格与其他部门代码相关。所以我假设我最初把它放在一起的方式是错误的。

我的问题是,有人可以发现问题,或提供改进以下简单的PHP脚本的建议:

// Cost plus 2.5%
if ($prDept = (204 || 205 || 209 || 1501 || 1601 )) {
    if ($_SESSION['tax'] == "on" || !isset($_SESSION['tax']))
        $prPrice = ((($prCost1 / 1.14) * 1.025) * 1.14);
    else if ($_SESSION['tax'] == "off" && $prTaxable == "1")
        $prPrice = ($prCost1 * 1.025);
    else if ($_SESSION['tax'] == "off" && $prTaxable == "0")
        $prPrice = (($prCost1 / 1.14) * 1.025);

}

3 个答案:

答案 0 :(得分:5)

$prDept = (204 || 205 || 209 || 1501 || 1601)

这不是PHP的工作原理。它真的需要看起来像......

$prDept == 204 || $prDept == 205 || $prDept == 209 || $prDept == 1501 || $prDept == 1601

或者,

in_array($prDept, array(204, 205, 209, 1501, 1601))

答案 1 :(得分:2)

if ($prDept == 204 || $prDept == 205 || $prDept == 209 || $prDept == 1501 || $prDept == 1601) {
    if ($_SESSION['tax'] == "on" || !isset($_SESSION['tax'])) {
          $prPrice = ((($prCost1 / 1.14) * 1.025) * 1.14);
    } else if ($_SESSION['tax'] == "off" && $prTaxable == "1") {
          $prPrice = ($prCost1 * 1.025);
    } else if ($_SESSION['tax'] == "off" && $prTaxable == "0") {
          $prPrice = (($prCost1 / 1.14) * 1.025);
    }   
}

答案 2 :(得分:1)

我会把它写成:

$departments = array(204 , 205 , 209 ,1501, 1601);

if (in_array($prDept, $departments)) {
 ...
}