如何在调用时自动从字段添加数据。
例:
field
的值是= 1AA/example/example
iam使用foreach
foreach ($datanomor as $row){
$var=$row->MaxCode;
echo $var;
}
结果是
1AA/example/example
我想在(1+ 1AA/example/example)
上添加操作
所以我打电话给我该怎么办,结果将显示:
2AA/example/example
***编辑
有名称为t_surat_keluar
的表
查询到我的控制器中字段的调用值是:
$datanomor = $this->db->query("SELECT max(nomor_surat) as maxKode")
->('FROM t_surat_keluar where id_jenissurat=$row->id_jenissurat')
->result();
$data['datanomor']=$datanomor;
值为001/smk/ck/2018
在我看来,我运行以下脚本来调用该值:
foreach ($datanomor1 as $row) {
$var = $row->maxKode;
echo $var;
}
现在我想问,当我从脚本中调用时如何将值(001/smk/ck/2018)
直接更改为(002/smk/ck/2018)
?
对不起,我的英语不好。
***现在编辑,我可以使用此脚本直接更改该值
foreach ($datanomor1 as $row){
$var=$row->maxKode;
$var[2] = (int)$var[2]+1;
echo $var;
}
新问题是,如果我使用以下脚本,则最后一个值为(009/smk/ck/2018)
:
$var[2] = (int)$var[2]+1;
输出将显示(**001**/smk/ck/2018)
而不是(**0010**/smk/ck/2018)
答案 0 :(得分:2)
据我了解,您希望对ur var上的第一个字符进行操作,因此您可以从var中将其选择为char
foreach ($datanomor as $row){
$var=$row->MaxCode;
//select the first char and casting it to integer then increment it
$var[0] = (int)$var[0]++;
echo $var;
}
答案 1 :(得分:0)
您可以执行以下操作:
$varInt = intval($var);
$varString = strval($varInt);
$varInt += 1;
$result = strval($varInt).substr($var, strlen($varString));
不优雅,但应该可以。
答案 2 :(得分:0)
您也可以使用preg_replace_callback:
foreach ($datanomor as $row){
echo preg_replace_callback('/^([0-9]+)(.+)/', function($matches) {
return ($matches[1] + 1) . $matches[2];
}, $row->MaxCode);
}