php如何保留整数前面的0?

$a=1;
$b=2;
$c=03;
echo $a.$c.$b;

结果是:132
期望结果:1032
阅读 1.5k
2 个回答

不要想着瞎搞,在多数编程语言中,0 开头的整数会被当成八进制来处理,而显示的时候又会被转成十进制,比如这样:

$a = 1;
$b = 2;
$c = 013;
echo $a . $c . $b;

你以为结果会是什么? 1132 ?错,实际结果是 1112,因为 013 会被当成八进制处理,最后转成十进制的 11


你这个需求,就老老实实用字符串。

你可以用 str_pad() 函数:


<?php
$a = 1;
$b = 2;
$c = 3;

$a_str = str_pad($a, 2, "0", STR_PAD_LEFT);
$b_str = str_pad($b, 2, "0", STR_PAD_LEFT);
$c_str = str_pad($c, 2, "0", STR_PAD_LEFT);

echo $a_str . $c_str . $b_str;
?>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题