php 在字符串指定位置插入新字符的简单实现
author:一佰互联 2019-04-27   click:272

php 在字符串指定位置插入新字符的简单实现

因为项目用到DataTable表格加载后台数据,要连表查询虚拟机选中的策略状态,所以想到先把策略表内容取出来,组成一个"<select><option value="1"></option>[n个option]</select>"字符串,在遍历虚拟机列表时把他的策略值拼成 "value="1"" 这样的字符串,再利用explode()implode() 函数,组成新的字符串返回给前台,就实现了选中状态。

$option = "<select class="sla_list">";
  
  // 取出所有策略
  $sla_query = $this->db->select("sla_id, name")->get("sla");
    $sla_res = $sla_query->result_array();
    if (!empty($sla_res)) {
      $option .= "<option value="0">未保护</option>";
      foreach ($sla_res as $k1 => $v1) {
        $option .= "<option value="" . $v1["sla_id"] . "">" . $v1["name"] . "</option>";
      }
      $option .= "</select>";

    } else {
      $option .= "<option value="0">未保护</option></select>";
    }


  // 选中默认的保护策略
  $vm_query = $this->db->select("sla_id")->where("vm_id", $vm_id)->get("task_vm", 1);
  $vm_res = $vm_query->row_array();
  if (is_null($vm_res["sla_id"])) $res["sla_id"] = 0;
  $selected = "value="" . $vm_res["sla_id"] . """;
  $new_str_arr = explode($selected, $option);
  $new_option = implode(" {$selected} selected", $new_str_arr);

以上就是小编为大家带来的php 在字符串指定位置插入新字符的简单实现全部内容了,希望大家多多支持网页设计~