我想以这种格式将值发布到我的MySQL数据库中;
01, 02, 03...
011, 012, 013...
0101, 0102, 0103,
等等
(每个值前带有0
)。
如果我这样做"01+1"
,我(可以理解)将获得值2而不是“ 02”。
有没有默认的php函数,让我设置默认字符数,还是有其他选择?
我正在使用laravel结合雄辩的语言和一些自己的功能;
$lastSKU = $data->GetData('get', 'products', 'filter')->max('SKU');
$newValue = $lastSKU+1;
谢谢。
答案 0 :(得分:1)
听起来您可能不知道格式如何,如果前面总是有0,那么这样做很容易
$value = '0'. ( $value + 1 );
PHP会自动将其转换为括号之间的数字,并向其中添加一个字符串,它将再次变为字符串。
现在,如果您不预先知道长度或填充,但是您确实需要保留当前的填充,我建议使用类似的
$value = str_pad(($value + 1), strlen($value), '0', STR_PAD_LEFT);
编辑,str_pad
如今有些慢,sprintf
可以完成相同的技巧,但速度更快
$value = sprintf("%'.0" . strlen($value) . "d\n", ($value +1));