Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的预设选择值_Php_Codeigniter - Fatal编程技术网

php中的预设选择值

php中的预设选择值,php,codeigniter,Php,Codeigniter,嗨,我有一个从控制器发送到页面的信息列表,这是 [creditCardList] => array(6) ( [0] => stdClass object { text_code => (string) 1 text_value => (string) Visa } [1] => stdClass object { text_code => (string) 2 text_value =

嗨,我有一个从控制器发送到页面的信息列表,这是

 [creditCardList] => array(6) (
    [0] => stdClass object {
      text_code => (string) 1
      text_value => (string) Visa
    }
    [1] => stdClass object {
      text_code => (string) 2
      text_value => (string) MasterCard
    }
    [2] => stdClass object {
      text_code => (string) 3
      text_value => (string) Eurocard
    }
    [3] => stdClass object {
      text_code => (string) 4
      text_value => (string) Amex
    }
    [4] => stdClass object {
      text_code => (string) 5
      text_value => (string) Diners
    }
    [5] => stdClass object {
      text_code => (string) 6
      text_value => (string) Other
    }
  )
在html页面中,我想预设加载的值是text_code 1,也就是VISA,但我无法实现。下面是html代码。 我试着写
$creditCardList->text\u code[1]
,但没有成功

<select name="credit_card_select" id="my_profile_select_credit_card" class="form-control country_style">
                <?php
                  if(!($userriskrate['credit_card_type'] > 0)){
                    echo '<option value="' . $creditCardList->text_code[1]. '">' . $creditCard->text_value . '</option>';
                    foreach ($creditCardList as $creditCard){
                        echo '<option value="' . $creditCard->text_code. '">' . $creditCard->text_value . '</option>';
                    }
                  }else{
                    foreach ($creditCardList as $creditCard){
                        echo '<option value="' . $creditCard->text_code. '"';
                        if($creditCard->text_code == $userriskrate['credit_card_type']){
                            echo 'selected';
                        }
                        echo '>' . $creditCard->text_value .'';     
                        echo  '</option>';          
                    }
                  }
                  ?> 
                </select>            

您应该将其用作信用卡[i],因为它有一个数组()

echo“”$creditCardList[0]->文本_值。“”;
这将给予u visa作为visa的价值

显示预选值以外的值的步骤

              <?php
              if(!($userriskrate['credit_card_type'] > 0)){
                echo '<option value="' . $creditCardList[0]->text_code. '">' . $creditCard[0]->text_value . '</option>';
                 $presetvalue = $creditCardList[0]->text_code;
                foreach ($creditCardList as $creditCard){

                    if($presetvalue !== $creditCard->text_code)
                    {  
                    echo '<option value="' . $creditCard->text_code. '">' . $creditCard->text_value . '</option>';

                    }
                }  
             }     

您的错误在这里:
echo'$信用卡->文本_值。“

其需要是:

echo '<option value="' . $creditCardList[0]->text_code. '">' . $creditCard[0]->text_value . '</option>';
echo“”$信用卡[0]->文本_值。“;
我在这里重构了代码:

   if(!($userriskrate['credit_card_type'] > 0)) $selector = 'VISA'; else $selector = $userriskrate['credit_card_type'];
      foreach ($creditCardList as $creditCard){
            if($creditCard->text_value == $selector) $selected='SELECTED'; else $selected='';
            echo '<option value="' . $creditCard->text_code. ' '.$selected.'">' . $creditCard->text_value . '</option>';
      }
if(!($userriskrate['credit_card_type']>0))$selector='VISA';else$selector=$userriskrate['credit_card_type'];
foreach($creditCardList作为$creditCard){
如果($creditCard->text_value==$selector)$selected='selected',否则$selected='';
回显“.$creditCard->text_value.”;
}

嘿,谢谢,它很管用!!!当时间限制结束时,我将接受答案,并想再问一个问题,如果我想限制,使其仅显示visa卡和master卡,我该如何做?只需添加两行:
$autorizedValues=array('visa','MasterCard')和循环中的
如果(!in_数组($creditCard->text_value,$autorizedValues)继续;
那么当
text_value
不在
$autorizedValues
记录中时,它将跳过it@Farhana对不起,我写了信用卡[0]->text\u值而不是信用卡列表[0]->text_值。文本代码部分是正确的。非常感谢您的更正:D它显示它可以工作,但现在我有两个Visa,因为一个是预完成的,另一个在下拉菜单中。有没有关于如何修复dat的线索?@Farhana抱歉,又犯了一个愚蠢的错误。请检查我编辑的ans
   if(!($userriskrate['credit_card_type'] > 0)) $selector = 'VISA'; else $selector = $userriskrate['credit_card_type'];
      foreach ($creditCardList as $creditCard){
            if($creditCard->text_value == $selector) $selected='SELECTED'; else $selected='';
            echo '<option value="' . $creditCard->text_code. ' '.$selected.'">' . $creditCard->text_value . '</option>';
      }