原来是这样
$arr['type'] = ($sid==0) ? 'alipay':'wxpay';我现在想多加参数,加上后出错。
$arr['type'] = ($sid==0) ? 'alipay':'wxpay':'chinapay';

解决方案 »

  1.   

    原来的是三木运算符,你改后什么都不是。php不认识,还是用if else吧
      

  2.   

    不懂,求if else代码
      

  3.   

    $arr['type'] = ($sid==0) ? 'alipay':'wxpay';//如果$sid == 0,$arr['type'] = alipay;否则$arr['type'] = wxpay;
    还有第三种情况吗? 在加一个值是什么意思?
      

  4.   

    原来是这样的       //获取数据库定单记录
            $row=$this->CsdjDB->get_select('pay','CS_ID','*',''.$id.'');
            if(!$row) $this->CsdjSkins->Msg_url('该定单不存在!','javascript:history.back();');  $arr['title'] = '('.$this->session->userdata('cs_name').')';
    $arr['rmb'] = $row[0]->CS_RMB;
    $arr['dingdan'] = $row[0]->CS_Dingdan;
    $arr['type'] = ($sid==0) ? 'alipay':'wxpay';
    //提交订单
    $html_text = $this->pays->adds($arr);        if($sid==1){
        echo '微信支付!';
    }else{
        echo $html_text;
    }
        }我现在想在这句$arr['type'] = ($sid==0) ? 'alipay':'wxpay'; 加个值'chinapay  怎么写才正确的
      

  5.   

    chinapay 加到哪里?
      

  6.   

    加在这句$arr['type'] = ($sid==0) ? 'alipay':'wxpay';
      

  7.   

    $arr['type'] = ($sid==0) ? 'alipay':'wxpay';转换成if else 是这样的
    if($sid == 0){
    $arr['type']  =  'alipay';
    }else{
    'wxpay';
    }
    现在你再看看加到哪里?
      

  8.   

    if($sid == 0){
    $arr['type']  =  'alipay';
    }else{
    $arr['type']  =  'wxpay';
    }
      

  9.   

    if($sid == 0){
    $arr['type']  =  'alipay';
    }else{
    $arr['type']  =  'wxpay';
    }else{
    $arr['type']  =  'chinapay';
    }这样也不对啊
      

  10.   

    什么情况下赋值chinapay? 能用文字描述一遍吗
      

  11.   

    chinapay 值就是网银支付的!
      

  12.   


    上面讲的是什么条件下,用chinapay,你给的只有一个条件if($sid == 0),两个结果$arr['type']  =  'alipay';
    }else{ $arr['type']  =  'wxpay';第三个用什么来条件来判断 ,从而$arr['type']  =  'chinapay';
      

  13.   

               //生成定单
               $this->load->helper('string');
               $pay['cs_dingdan']=''.date('Ymd').time().random_string('numeric',5);
               $pay['cs_ip']=$this->CsdjSkins->GetIP();
               $pay['cs_user']=$this->session->userdata('cs_name');
               $pay['cs_addtime']=date('Y-m-d H:i:s');
               $res=$this->CsdjDB->get_insert('pay',$pay);
               if($res>0){
                     if($pay['cs_type']=='alipay'){ //支付宝
                           $tourl=site_url('user/pay/tgpay').'?id='.$res;
                     }elseif($pay['cs_type']=='wxpay'){  //微信
                           $tourl=site_url('user/pay/tgpay').'?id='.$res.'&sid=1';
                     }elseif($pay['cs_type']=='chinapay'){  //银联快捷支付
                           $tourl=site_url('user/pay/tgpay').'?id='.$res;
                     }elseif($pay['cs_type']=='chinapay_b2c'){  //银联B2C网银支付
                           $tourl=site_url('user/pay/tgpay').'?id='.$res;
                     }
                     exit("<script>window.location='".$tourl."';</script>");
               }else{
                     $this->CsdjSkins->Msg_url('抱歉,定单记录失败!','javascript:history.back();'); 
               }
        }    //支付
        public function tgpay(){
            $this->CsdjUser->User_Login();
       
            $id=(int)$this->input->get('id', TRUE);
            $sid=(int)$this->input->get('sid', TRUE);
            if(empty($id)) $this->CsdjSkins->Msg_url('参数错误!','javascript:history.back();');          //获取数据库定单记录
            $row=$this->CsdjDB->get_select('pay','CS_ID','*',''.$id.'');
            if(!$row) $this->CsdjSkins->Msg_url('该定单不存在!','javascript:history.back();');  $arr['title'] = '('.$this->session->userdata('cs_name').')';
    $arr['rmb'] = $row[0]->CS_RMB;
    $arr['dingdan'] = $row[0]->CS_Dingdan;
                    if($sid == 0){
                    $arr['type']  =  'alipay';
                    }else
                    {
                    $arr['type']  =  'wxpay';
                    }
    //提交订单
    $html_text = $this->pays->adds($arr);        if($sid==1){
        echo '微信支付';
    }else{
        echo $html_text;
    }
        }这样就正常。多加一个值就出错了
    if($sid == 0){
    $arr['type']  =  'alipay';
    }else{
    $arr['type']  =  'wxpay';
    }else{
    $arr['type']  =  'chinapay';
    }
      

  14.   

    多一个值应该有条件好吗?比如 
    if($sid == 0){
    $arr['type']  =  'alipay';
    }else if($sid==1){
    $arr['type']  =  'wxpay';
    }else{
    $arr['type']  =  'chinapay';
    }
      

  15.   


    这样执行chinapay输出还是alipay
      

  16.   

    取决于你的$sid究竟是几。
    如果是0 则alipay
    如果是1 则wxpay
    否则 chinapay
      

  17.   

    alipay和chinapay $sid都是0
      

  18.   

    用switch ... case
      

  19.   

    switch($sid){ case 0:
    $arr['type']  =  'alipay';
    break;
    case 1:
    $arr['type']  =  'wxpay';
    break;
    default:
    $arr['type']  =  'chinapay';}