我正在尝试创建一个函数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请注意返回的值必须是三位数格式
如果我的问题不明确,请在下面发表评论
谢谢&问候
所以我必须
答案 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
}