php 在字符串指定位置插入新字符

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

 1    $option = '<select class="sla_list">';
 2     
 3    // 取出所有策略
 4    $sla_query = $this->db->select('sla_id, name')->get('sla');
 5         $sla_res = $sla_query->result_array();
 6         if (!empty($sla_res)) {
 7             $option .= '<option value="0">未保护</option>';
 8             foreach ($sla_res as $k1 => $v1) {
 9                 $option .= '<option value="' . $v1['sla_id'] . '">' . $v1['name'] . '</option>';
10             }
11             $option .= '</select>';
12 
13         } else {
14             $option .= '<option value="0">未保护</option></select>';
15         }
16 
17 
18    // 选中默认的保护策略
19    $vm_query = $this->db->select('sla_id')->where('vm_id', $vm_id)->get('task_vm', 1);
20    $vm_res = $vm_query->row_array();
21    if (is_null($vm_res['sla_id'])) $res['sla_id'] = 0;
22    $selected = 'value="' . $vm_res['sla_id'] . '"';
23    $new_str_arr = explode($selected, $option);
24    $new_option = implode(" {$selected} selected", $new_str_arr);

 

转载于:https://www.cnblogs.com/gentsir/p/5621440.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值