我正在尝试构建一个 php 函数并发现了一些奇怪的行为,我什至无法提出一个正确的问题,所以如果有人能解释发生了什么,我将不胜感激。
我正在使用一组带有前导零的数字,维护它们很重要,但用户几乎从不输入前导零。所以我用这个:
$x = 123;
$n = 5;
$x = str_pad((int)$x,$n,"0",STR_PAD_LEFT);
echo $x;
并且,根据需要,这让我得到了 00123。
当我测试一个用户在他们的号码之前输入一个零时,奇怪的事情发生了
$x = 0123;
$n = 5;
$x = str_pad((int)$x,$n,"0",STR_PAD_LEFT);
echo $x;
这将返回 00083。如果用户输入 00123,也会发生同样的情况。
这个结果让我完全困惑。提前感谢您对这里发生的事情的任何解释。