我正在通过PHP脚本生成自动增量代码。顺序如下: L001 , L002 .... L039 , L040 。下面是我编写的PHP代码。评论显示了每个陈述的输出。
<?php
require_once("db_handler.php");
$conn = iniCon();
$db = selectDB($conn);
$query = "SELECT LID FROM locations ORDER BY LID DESC LIMIT 1";
$result = mysql_query($query, $conn);
$row = mysql_fetch_array($result);
$last_id = $row['LID']; //L040
$id_letter = substr($last_id, 0, 1); //L
$id_num = substr($last_id, 1) + 1; //040 + 1
$new_id = $id_letter . $id_num;
mysql_close($conn);
?>
我在HTML文本框中显示$new_id
。虽然到目前为止一切正常,但新生成的代码显示为 L41 ,切断了前导零。
如何阻止这种情况发生?我需要在前面保持零。
谢谢。
答案 0 :(得分:3)
使用str_pad
或sprintf
功能:
$id_num = str_pad($id_num, 3, "0", STR_PAD_LEFT);
或
$id_num = sprintf("%03d", $id_num);
答案 1 :(得分:2)
$id_num = substr($last_id, 1) + 1; //40 + 1
$id_num = str_pad($id_num, 3, "0", STR_PAD_LEFT); //return 041
$new_id = $id_letter . $id_num;
答案 2 :(得分:0)
看一下sprintf [1]。提示:%03d