PHP 在数字逻辑中设置最少 4 位数字
PHP set minimum 4 digits in a number logic
我是 PHP 的新手,我正在尝试在一个变量中设置最少 4 位数字并创建一个 memberid。
$memberidVal = ABC0123;
$numMemberVal = preg_replace("/[^0-9]/", "", $memberidVal);
if (strlen($numMemberVal) == 3) {
$numMemberVal = 0 . $numMemberVal;
} elseif (strlen($numMemberVal) == 2) {
$numMemberVal = 00 . $numMemberVal;
} elseif (strlen($numMemberVal) == 1) {
$numMemberVal = 000 . $numMemberVal;
}
$newMemberId = "ABC" . ($numMemberVal + 1);
echo ($newMemberId);
无论我做什么,我总是在 return 中得到 ABC124。
$newMemberId = "ABC" . ($numMemberVal + 1);
上面一行做了以下事情:
- 将数字字符串
0123
加上小数 1
得到 124
感谢 type juggling
- 然后它在 "ABC" 前面,因为你告诉它
如果要强制使用前导零,请使用 str_pad()
:
$memberidVal = ABC0123;
$numMemberVal = preg_replace("/[^0-9]/", "", $memberidVal);
$newMemberId = "ABC" . str_pad(($numMemberVal + 1), 4, '0', STR_PAD_LEFT);
或者在你的零之前添加 1
:
$memberidVal = ABC0123;
$numMemberVal = preg_replace("/[^0-9]/", "", $memberidVal);
$numMemberVal++;
if (strlen($numMemberVal) == 3) {
$numMemberVal = 0 . $numMemberVal;
} elseif (strlen($numMemberVal) == 2) {
$numMemberVal = 00 . $numMemberVal;
} elseif (strlen($numMemberVal) == 1) {
$numMemberVal = 000 . $numMemberVal;
}
$newMemberId = "ABC" . $numMemberVal;
echo ($newMemberId);
或使用sprintf()
:
$memberidVal = ABC0123;
$numMemberVal = preg_replace("/[^0-9]/", "", $memberidVal);
$newMemberId = sprintf('%s%04d', 'ABC', ($numMemberVal + 1));
我是 PHP 的新手,我正在尝试在一个变量中设置最少 4 位数字并创建一个 memberid。
$memberidVal = ABC0123;
$numMemberVal = preg_replace("/[^0-9]/", "", $memberidVal);
if (strlen($numMemberVal) == 3) {
$numMemberVal = 0 . $numMemberVal;
} elseif (strlen($numMemberVal) == 2) {
$numMemberVal = 00 . $numMemberVal;
} elseif (strlen($numMemberVal) == 1) {
$numMemberVal = 000 . $numMemberVal;
}
$newMemberId = "ABC" . ($numMemberVal + 1);
echo ($newMemberId);
无论我做什么,我总是在 return 中得到 ABC124。
$newMemberId = "ABC" . ($numMemberVal + 1);
上面一行做了以下事情:
- 将数字字符串
0123
加上小数1
得到124
感谢 type juggling - 然后它在 "ABC" 前面,因为你告诉它
如果要强制使用前导零,请使用 str_pad()
:
$memberidVal = ABC0123;
$numMemberVal = preg_replace("/[^0-9]/", "", $memberidVal);
$newMemberId = "ABC" . str_pad(($numMemberVal + 1), 4, '0', STR_PAD_LEFT);
或者在你的零之前添加 1
:
$memberidVal = ABC0123;
$numMemberVal = preg_replace("/[^0-9]/", "", $memberidVal);
$numMemberVal++;
if (strlen($numMemberVal) == 3) {
$numMemberVal = 0 . $numMemberVal;
} elseif (strlen($numMemberVal) == 2) {
$numMemberVal = 00 . $numMemberVal;
} elseif (strlen($numMemberVal) == 1) {
$numMemberVal = 000 . $numMemberVal;
}
$newMemberId = "ABC" . $numMemberVal;
echo ($newMemberId);
或使用sprintf()
:
$memberidVal = ABC0123;
$numMemberVal = preg_replace("/[^0-9]/", "", $memberidVal);
$newMemberId = sprintf('%s%04d', 'ABC', ($numMemberVal + 1));