繁体   English   中英

制作if语句的最佳方法

[英]Best way to make if statements

基本上,我从复选框中获取值(即,表单中选中了多少个复选框)。 我需要做的是回显某个数字值的价格。 这是我在想的,但不确定是否正确的方法:

 $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";

我确信这会按我需要的方式工作,只是不确定是否有速记或更好的书写方式。 谢谢。

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

因此,您的代码应类似于:

$numberOfItems = count($clubTotal);
if ($numberOfItems > 6)
        echo "price";
if ($numberOfItems == 6)
         echo "price";
if($numberOfItems > 6 && $numberOfItems < 9)
        echo "price";
$count = array_sum($clubTotal) ;
if ($count== 6 )
    echo "price when 6" ;
else if ($count> 6)
{
    if ($count< 9)
        echo "price when 7-8" ;
    else
        echo "price when >= 9" ;
}

替代方法是:

$count = array_sum($clubTotal) ;
if ( $count >= 6 )
{
    switch( $count )
    {
        case 6:
            echo "price when 6" ;
            break ;

        case 7:
        case 8:
            echo "price when 7-8" ;
            break ;

        default:
            echo "price when >= 9";
            break ;
    }
}

希望对您有所帮助。

好吧,您不能将数组与那样的整数进行比较,并且数组也不能那样工作。

$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";
}

您需要使用count()计算数组项,并且链接IF语句通常会得到if ... elseif ...处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM