你如何自动添加' 0' PHP中的任何数字1-9前面?

时间:2016-03-03 20:38:41

标签: php

我需要一种能够自动添加' 0'如果用户输入的数字是PHP中1-9之间的数字,则在任何数字前面。我需要这个,因为我想创建一个10个字符的日期,以便我可以在日期之间搜索添加到我的网站的练习。

最简单的方法我想是从一年开始,然后是月,然后是一天,所以我得到这样的东西:2001/04/15。我可以让用户手动添加' 0'但我希望有一种方法可以自动添加。

到目前为止,我有这个,但它并没有做得很好。有人可以帮助我吗?

提前致谢。

//Checks to see if start day is a number 1-9
//If so, adds a '0' at the beginning of the start day variable

    if($_POST['eday'] == 1 || $_POST['eday'] == 2 || $_POST['eday'] == 3 || $_POST['eday'] == 4 ||
    $_POST['eday'] == 5 || $_POST['eday'] == 6 || $_POST['eday'] == 7 || $_POST['eday'] == 8 || 
    $_POST['eday'] == 9) {
    $_POST['eday'] = 0 . $_POST['eday'];

    echo $_POST['eday'] . '<br>';
}

3 个答案:

答案 0 :(得分:2)

使用printf格式:

printf("%02d<br>", $_POST['eday']);

答案 1 :(得分:0)

你没有什么事情让你自己变得复杂,你可以这样做:

if($_POST['eday'] < 10) $number = '0'.$_POST['eday'];
else $number = $_POST['eday'];

答案 2 :(得分:0)

这是另一回事:http://www.w3schools.com/php/func_string_str_pad.asp

pad_str($str,20,".");

将填充到&#34;。&#34;

的20个字符

有可选的第4个参数。

<强> STR_PAD_BOTH

STR_PAD_RIGHT (默认情况下,如果未提供)

<强> STR_PAD_LEFT

所以对你:

$str = $_POST['eday'];
pad_str($str,2,"0", STR_PAD_LEFT);

现在已设置$str,您可以随时随地使用它。