Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 做if语句的最佳方法_Php_If Statement - Fatal编程技术网

Php 做if语句的最佳方法

Php 做if语句的最佳方法,php,if-statement,Php,If Statement,基本上,我是从复选框中获取值(即一个表单中有多少复选框被选中)。我需要做的是对某个数值的价格进行回应。以下是我的想法,但不确定这是否正确: $clubTotal = array( $driversChecked, $hybridsChecked, $woodsChecked, $boxesChecked, $wedgesChecked,

基本上,我是从复选框中获取值(即一个表单中有多少复选框被选中)。我需要做的是对某个数值的价格进行回应。以下是我的想法,但不确定这是否正确:

 $clubTotal = array(
                $driversChecked,
                $hybridsChecked,
                $woodsChecked,
                $boxesChecked,
                $wedgesChecked,
             ); 

 $numberOfclubs = array_sum($total) 

    if ($numberOfclubs > 6)
        echo "price";
    if ($numberOfclubs == 6)
        echo "price";
    if($numberOfclubs > 6 && $numberOfclubs < 9)
        echo "price";
$clubTotal=array(
$driversChecked,
$hybridsChecked,
$woodsChecked,
$boxesChecked,
$wedgesChecked,
); 
$numberOfclubs=数组\总和($total)
如果($numberOfclubs>6)
呼应“价格”;
如果($numberOfclubs==6)
呼应“价格”;
如果($numberOfclubs>6&$numberOfclubs<9)
呼应“价格”;
我确信这会按我需要的方式工作,只是不确定是否有速记或更好的方式来写它。谢谢

您需要使用PHP函数来计算数组中的项数

因此,您的代码应该如下所示:

$numberOfItems = count($clubTotal);
if ($numberOfItems > 6)
        echo "price";
if ($numberOfItems == 6)
         echo "price";
if($numberOfItems > 6 && $numberOfItems < 9)
        echo "price";
$numberOfItems=计数($clubTotal);
如果($numberOfItems>6)
呼应“价格”;
如果($numberOfItems==6)
呼应“价格”;
如果($numberOfItems>6&&$numberOfItems<9)
呼应“价格”;
您需要使用PHP函数来计算数组中的项数

因此,您的代码应该如下所示:

$numberOfItems = count($clubTotal);
if ($numberOfItems > 6)
        echo "price";
if ($numberOfItems == 6)
         echo "price";
if($numberOfItems > 6 && $numberOfItems < 9)
        echo "price";
$numberOfItems=计数($clubTotal);
如果($numberOfItems>6)
呼应“价格”;
如果($numberOfItems==6)
呼应“价格”;
如果($numberOfItems>6&&$numberOfItems<9)
呼应“价格”;
我希望这会有帮助


我希望这会有所帮助。

好吧,你不能把数组和那样的整数进行比较,数组也不会那样工作

$clubTotal = array(
    $driversChecked,
    $hybridsChecked,
    $woodsChecked,
    $boxesChecked,
    $wedgesChecked
);

$count = count($clubTotal);

if( $count > 6 ) {
    echo "price";
}
elseif( $count == 6 ) {
    echo "price";
}
elseif( $count > 6 && $count < 9 ) {
    echo "price";
}
$clubTotal=array(
$driversChecked,
$hybridsChecked,
$woodsChecked,
$boxesChecked,
$wedgesChecked
);
$count=计数($clubTotal);
如果($count>6){
呼应“价格”;
}
elseif($count==6){
呼应“价格”;
}
其他($count>6&$count<9){
呼应“价格”;
}

您需要使用
count()
和chaining IF语句对数组项进行计数,通常情况下,IF…elseif。。。治疗。

好吧,你不能将数组与那样的整数进行比较,数组也不会那样工作

$clubTotal = array(
    $driversChecked,
    $hybridsChecked,
    $woodsChecked,
    $boxesChecked,
    $wedgesChecked
);

$count = count($clubTotal);

if( $count > 6 ) {
    echo "price";
}
elseif( $count == 6 ) {
    echo "price";
}
elseif( $count > 6 && $count < 9 ) {
    echo "price";
}
$clubTotal=array(
$driversChecked,
$hybridsChecked,
$woodsChecked,
$boxesChecked,
$wedgesChecked
);
$count=计数($clubTotal);
如果($count>6){
呼应“价格”;
}
elseif($count==6){
呼应“价格”;
}
其他($count>6&$count<9){
呼应“价格”;
}

您需要使用
count()
和chaining IF语句对数组项进行计数,通常情况下,IF…elseif。。。治疗。

=
更改为
=
;您无意中进行了赋值而不是比较。此外,您的数组项需要用逗号分隔
,而不是用分号分隔
,并且
$wedgesChecked
不需要逗号,尽管php不会对此抱怨;您无意中进行了赋值而不是比较。此外,您的数组项需要用逗号分隔
,而不是用分号分隔
,并且
$wedgesChecked
不需要逗号,尽管php不会对此抱怨。第一次比较应该是
($numberOfItems>=9)
,除非他想在某些情况下重复两次
“price”
。不管怎样,另一个
if
s实际上应该由
elseif
s执行,因为它们是排他性的。我在主区域编辑了代码。这行得通吗,还是我应该继续做
计数($clubTotal)@我只是把“价格”放进去,每个都有自己的定价。抱歉造成混淆。第一次比较应该是
($numberOfItems>=9)
,除非他想在某些情况下重复
“price”
。不管怎样,另一个
if
s实际上应该由
elseif
s执行,因为它们是排他性的。我在主区域编辑了代码。这行得通吗,还是我应该继续做
计数($clubTotal)@我只是把“价格”放进去,每个都有自己的定价。很抱歉给您带来困惑。使用开关是目前为止最好的选择。但你不需要休息;在默认开关状态下。@Tom这是真的,但是我这样做是为了将来的工程师的安全,他们可以处理我的代码并在开关的末尾添加新的案例。与许多人一起工作已经有近30年的经验,有时也有人有“不整洁”的编程风格。@Grzegorz
(count($clubTotal))
每次都给我5的计数(数组中的变量数)。我需要的是该数组中的值之和。我可以使用
if(数组和($clubTotal))
吗?当然可以。这是我的错。修好它。很抱歉完成-请注意,您的示例使用了
array\u sum($total)
,而我认为它应该使用
array\u sum($clubTotal)
。请确认。@Grzegorz试过了,效果很好。开关似乎是最好的方法。使用开关是目前为止最好的选择。但你不需要休息;在默认开关状态下。@Tom这是真的,但是我这样做是为了将来的工程师的安全,他们可以处理我的代码并在开关的末尾添加新的案例。与许多人一起工作已经有近30年的经验,有时也有人有“不整洁”的编程风格。@Grzegorz
(count($clubTotal))
每次都给我5的计数(数组中的变量数)。我需要的是该数组中的值之和。我可以使用
if(数组和($clubTotal))
吗?当然可以。这是我的错。修好它。很抱歉完成-请注意,您的示例使用了
array\u sum($total)
,而我认为它应该使用
array\u sum($clubTotal)
。请确认。@Grzegorz试过了,效果很好。切换似乎是最好的方式。