如何获取PHP中字符前的最后三位数

时间:2015-03-05 10:19:51

标签: php

我正在尝试创建一个函数Makecode()

代码必须看起来像这样

SV00000001-15

要创建这个,我必须这样做。

function makeCode()
{
    $counter=000;
    $buf = 00000;
    $suf= $this->suf;
    $pre= $this-pref;

    $counter = addCount($this->lastCode);
    $code = $pref.$buf.$counter."-".$suf;

}
function addCount($code)
{

//I have to know how to get the last three digit before"-" and then return a number one greater than that .

}

在上述案例中$this-lastCOde = 'SV00000001-15'

更多解释

函数addCount()输入为SV00000001-15,预期输出为002

我需要输出为002,即我需要首先获取"-"之前的最后三位数,然后将其递增1请注意返回的值必须是三位数格式

如果我的问题不明确,请在下面发表评论

谢谢&问候

所以我必须

1 个答案:

答案 0 :(得分:1)

从字符串中获取最后三个字符,如

substr("SV00000001-15", -3); // returns "-15"

OR

$no = substr(substr("SV00000001-15",0,strrpos("SV00000001-15","-")),-3); // returns "001"
echo sprintf('%03d', (int)$no + 1);  //returns 002

OR

$no = substr(explode("-","SV00000001-15")[0],-3); //returns 001
echo sprintf('%03d', (int)$no + 1);  //returns 002

在你的功能中

function addCount($code)
{
   $no = substr(substr($code,0,strrpos($code,"-")),-3); // returns "001"
   echo sprintf('%03d', (int)$no + 1);  //returns 002
}