继续从数据库中添加代码

时间:2017-03-26 06:45:04

标签: php

  # 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加起来?

1 个答案:

答案 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位
  • 双引号字符串是重新组合数据的简单方法。