# Check arrary not empty
if (!empty($results)) {
$this->code($results);
// got the mail code from database
// which is PG-000001
// how do i add , like something PG-000001 ++
}
这将从数据库返回结果,我的目的是不断添加从我的数据库返回的代码并将更新添加回数据库。
现在返回PG-000001,如何将其加起来像PG-000002然后更新它,下次它将是PG-000002,最多为000003等等。
如何将文字PG-000001加起来?
答案 0 :(得分:1)
如果你的所有代码都是这样,那么你真的不应该那样存储它们。看起来开头的PG-
只是一个前缀。如果将实际值存储为整数,则可以根据需要增加。
无论如何,你的问题的解决方案是你需要
这是一个小测试脚本:
$test='PG-000001';
$pattern='/(.*-)(\d+)/';
preg_match($pattern,$test,$matches);
list(,$prefix,$value)=$matches;
$value=sprintf('%06d',$value+1);
$test="$prefix$value";
print $test;
翻译:
/(.*-)(\d+)/
是将字符串拆分为前缀&的模式。标号preg_match
应用模式并将结果返回到数组$matches
。$matches
包含原始字符串,然后是两个匹配list()
将数组的元素复制到变量中。前导逗号跳过第一个元素sprintf
格式化数据。在这种情况下,代码0-填充到6位