【问题标题】:PHP - If in string without leaving the string on str_replace()PHP - 如果在字符串中而不在 str_replace() 上留下字符串
【发布时间】:2018-12-17 19:34:00
【问题描述】:
$str = '<div class="col-md-4">
    <div class="form-group">
        <label class="text-danger">Present Room Type</label>
        <select class="form-control" name="form-present-room-type" required>
            <option value=""></option>
            <option value="PREMIUM" '.( ("@form-present-room-type@" == "PREMIUM") ? "selected" : "").'>PREMIUM</option>
            <option value="SINGLE" '.( ("@form-present-room-type@" == "SINGLE") ? "selected" : "").'>SINGLE</option>
            <option value="DOUBLE" '.( ("@form-present-room-type@" == "DOUBLE") ? "selected" : "").'>DOUBLE</option>
            <option value="TRIPLE" '.( ("@form-present-room-type@" == "TRIPLE") ? "selected" : "").'>TRIPLE</option>                                    
        </select>
    </div>
</div>';

我上次质疑它,我发现当我像上面的代码一样在选项标签之外制作if时,@form-present-room-type@的值没有改变,这意味着@form-present-room-type不等于@987654325 @ 或任何 option 值。但是当我把它放在选项标签中时。像这样&lt;option value="PREMIUM" (@form-present-room-type@ == PREMIUM ? selected : "")&gt;PREMIUM&lt;/option&gt; 他会得到@form-present-room-type@ 值,但它只返回像这样&lt;option value="PREMIUM" (premium="=" premium="" ?="" selected="" :="" "")=""&gt;PREMIUM&lt;/option&gt; 的字符串。因为我希望将其替换为某些字符串,例如:str_replace('@form-present-room-type@','PREMIUM',$str);

【问题讨论】:

    标签: php string if-statement str-replace


    【解决方案1】:

    只需使用一个循环:

    $options = ['', 'PREMIUM', 'SINGLE', 'DOUBLE', 'TRIPLE'];
    $form_present_room_type = 'SINGLE';
    
    $str = '';
    foreach($options as $opt)
    {
      $str.= '<option value="'.$opt.'"'.($form_present_room_type === $opt ? ' selected' : '').'>'.$opt.'</option>';
    }
    $str = '<div class="col-md-4">
        <div class="form-group">
            <label class="text-danger">Present Room Type</label>
            <select class="form-control" name="form-present-room-type" required>'
    .$str.'</select>
        </div>
    </div>';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-25
      • 2012-06-12
      • 2014-11-05
      • 2014-01-07
      相关资源
      最近更新 更多