制作if语句的最佳方法

时间:2013-09-27 18:02:47

标签: php if-statement

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

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

我确信这将按照我需要的方式工作,只是不确定是否有简写或更好的方式来编写它。谢谢。

3 个答案:

答案 0 :(得分:2)

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

所以你的代码应该是:

$numberOfItems = count($clubTotal);
if ($numberOfItems > 6)
        echo "price";
if ($numberOfItems == 6)
         echo "price";
if($numberOfItems > 6 && $numberOfItems < 9)
        echo "price";

答案 1 :(得分:1)

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

我希望它会有所帮助。

答案 2 :(得分:0)

好吧,你无法将数组与这样的整数进行比较,并且数组也不会像那样工作。

$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 ...处理。