我有代表一个月的数据字符串。例如,“00”是1月,“01”是2月,“02”是3月,依此类推。 如何使字符串表示如此“01”是1月,“02”是2月等等,这是一种更简单的方法。我找不到任何PHP功能。
/ * 将cast month键入int,如果少于一位,则添加零并转换为string elseif超过9(2位)转换为字符串 * /
$month = "00"; // represents January
$month = (int) $month;
$month += 1;
if ($month <= 9){
$month = str_pad($month, 2, "0", STR_PAD_LEFT);
}
elseif ($month > 9){
$month = (string) $month;
}
提前致谢
答案 0 :(得分:1)
你的方式几乎是最简单的选择,但你不需要检查月份的大小,str_pad会为你做。
$month = "00"; // represents January
$month = (int) $month;
$month += 1;
$month = str_pad($month, 2, "0", STR_PAD_LEFT);
答案 1 :(得分:1)
您也可以使用sprintf:
,而不是使用str_pad$month = "00";
$month = (int) $month;
$month += 1;
$month = sprintf("%02s", $month);
或者,甚至更短:
$month = sprintf("%02s", $month + 1);
答案 2 :(得分:0)
怎么样:
$month = "00"; // represents January
// just increment the string value
// comment out the to display the different months
$month++;
$month++;
$month++;
$month++;
$month++;
$month++;
$month++;
$month++;
$month++;
$month++;
$month++;
$month++;
// Month = 13 when un-commenting, but should return 01
// $month++;
$month = ($month > 12) ? "01": str_pad($month, 2, "0", STR_PAD_LEFT);
echo "Month: {$month}\n";
答案 3 :(得分:0)
不确定这是不是你的意思:
switch($monthString)
{
case "January": $monthInt = "00";
break;
case "Febuary": $monthInt = "01";
break;
case "March": $monthInt = "02";
break;
case "April": $monthInt = "03";
break;
...
}