1
我試圖建立一個PHP函數,發現了一些奇怪的行爲,我甚至不能制定一個適當的問題,所以如果任何人都可以解釋發生了什麼,我將不勝感激。瞭解前導零的str_pad()
我正在處理一組具有前導零的數字,它的重要性在於它們被維護,但用戶幾乎從不輸入前導零。所以我用這個:
$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,則會發生同樣的情況。
這個結果讓我完全不知所措。預先感謝您對這裏發生的事情的任何解釋。
我會研究保持用戶輸入基數10.現在我知道要研究什麼,謝謝! – lcHatter
嗯,['intval()'](http://php.net/manual/en/function.intval.php)函數可以讓你在讀取用戶字符串時指定基地址。我只是在談論文字。 –