php 在字符串指定位置插入新字符的简单实现
因为项目用到DataTable表格加载后台数据,要连表查询虚拟机选中的策略状态,所以想到先把策略表内容取出来,组成一个'<select><option value="1"></option>[n个option]</select>'字符串,在遍历虚拟机列表时把他的策略值拼成 'value="1"' 这样的字符串,再利用explode()和implode() 函数,组成新的字符串返回给前台,就实现了选中状态。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
$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 在字符串指定位置插入新字符的简单实现全部内容了,希望大家多多支持服务器之家~