0

以下の構文を使用すると、このコード行でエラーが発生します。ただし、コード行をelseifステートメントからステートメントに変更ifしても、エラーは発生しません。なにが問題ですか?

エラー行:elseif($weight <= 5000)

私のPHPコードのすべて:

if ($delivery == 'one') {
if ($weight <= 1000) 
{
            if (royal_s) {
                $first    = 'Royal Mail Small Parcels';
                $first_p  = '3.00';
                $second   = 'Parcelforce 24';
                $second_p = '15.96';
            } elseif (royal_m) {
                $first    = 'Royal Mail Medium Parcels';
                $first_p  = '5.65';
                $second   = 'Parcelforce 24';
                $second_p = '15.96';
            } elseif (parcelforce) {
                $first    = 'Parcelforce 24';   
                $first_p  = '15.96';
            } else {
                sorry;
            }
} 
elseif ($weight  <= 2000) 
{
            if (royal_s){
                $first    = 'Royal Mail Small Parcels';
                $first_p  = '6.85';
                $second   = 'Parcelforce 24';
                $second_p = '15.96';
            } elseif(royal_m) {
                $first    = 'Royal Mail Medium Parcels';
                $first_p  = '8.90';
                $second   = 'Parcelforce 24';
                $second_p = '15.96';
            }
            elseif(parcelforce){
                $first    = 'Parcelforce 24';   
                $first_p  = '15.96';
            } else {
                sorry;
} 
elseif($weight  <= 5000) 
{
            if (royal_m) {
                $first    = 'Royal Mail Medium Parcels';
                $first_p  = '15.10';
                $second   = 'Parcelforce 24';
                $second_p = '16.92';
            } elseif(parcelforce){
                $first    = 'Parcelforce 24';   
                $first_p  = '15.96';
            } else {
                sorry;
            }
}
}
}
4

1 に答える 1

1

あなたのブラケットは間違った場所にあります:

 if ($delivery == 'one') {
    if ($weight <= 1000) 
    {
                if (royal_s) {
                    $first    = 'Royal Mail Small Parcels';
                    $first_p  = '3.00';
                    $second   = 'Parcelforce 24';
                    $second_p = '15.96';
                } elseif (royal_m) {
                    $first    = 'Royal Mail Medium Parcels';
                    $first_p  = '5.65';
                    $second   = 'Parcelforce 24';
                    $second_p = '15.96';
                } elseif (parcelforce) {
                    $first    = 'Parcelforce 24';   
                    $first_p  = '15.96';
                } else {
                    sorry;
                }
    } 
    elseif ($weight  <= 2000) 
    {
                if (royal_s){
                    $first    = 'Royal Mail Small Parcels';
                    $first_p  = '6.85';
                    $second   = 'Parcelforce 24';
                    $second_p = '15.96';
                } elseif(royal_m) {
                    $first    = 'Royal Mail Medium Parcels';
                    $first_p  = '8.90';
                    $second   = 'Parcelforce 24';
                    $second_p = '15.96';
                }
                elseif(parcelforce){
                    $first    = 'Parcelforce 24';   
                    $first_p  = '15.96';
                } else {
                    sorry;
    } 
}
    elseif($weight  <= 5000) 
    {
                if (royal_m) {
                    $first    = 'Royal Mail Medium Parcels';
                    $first_p  = '15.10';
                    $second   = 'Parcelforce 24';
                    $second_p = '16.92';
                } elseif(parcelforce){
                    $first    = 'Parcelforce 24';   
                    $first_p  = '15.96';
                } else {
                    sorry;
                }
    }
    }
于 2013-09-08T19:51:55.627 に答える