php编码变量的麻烦

时间:2010-05-20 15:59:38

标签: php variables

如果变量$ cardtype ==

,我试图回显某些值
     $paymentmethod = if( $cardtype == 'visa' ) echo 'VSA'; 
elseif ( $cardtype == 'mastercard' ) echo 'MSC'; 
elseif ( $cardtype == 'mastercard' ) echo 'MSC'; 
elseif ( $cardtype == 'maestro' ) echo 'MAE'; 
elseif ( $cardtype== 'amex' ) echo 'AMX';

我该怎么做?

4 个答案:

答案 0 :(得分:6)

$types = array( 'visa' => 'VSA', 'mastercard' => 'MSC', 
                'maestro' => 'MAE', 'amex' => 'AMX' );

echo ( isset( $types[ $cardtype ] ) ) ? $types[ $cardtype ] : 'Wrong card type';

答案 1 :(得分:2)

您可以使用包含switch语句的函数:

function GetPaymentMethod( $cardtype )
{
    switch( $cardtype )
    {
    case 'visa':
      return 'VSA';
    case 'mastercard':
      return 'MSC';
    case 'maestro':
      return 'MAE';
    case 'amex':
      return 'AMX';
    default:
      return '<Invalid card type>';
    }
}

测试:

echo GetPaymentMethod( 'visa' ); // VSA

答案 2 :(得分:0)

这是一种方法:

switch($cardtype) {
 case 'visa':
  echo 'VSA';
  break;
 case 'mastercard':
  echo 'MSC';
  break;
}

等等

答案 3 :(得分:0)

对于您自己的代码,您必须从头开始删除奇怪的$paymentmethod =

if( $cardtype == 'visa' ) echo 'VSA';  
elseif ( $cardtype == 'mastercard' ) echo 'MSC'; 
elseif ( $cardtype == 'maestro' ) echo 'MAE'; 
elseif ( $cardtype== 'amex' ) echo 'AMX';

它也会起作用。