如果数字在PHP中小于10,则添加前导零
如果数字小于10,我想创建一个带前导零的分页: <07 08 09 10 11> 我的分页输出类似的HTML:如果数字在PHP中小于10,则添加前导零,php,pagination,preg-replace,leading-zero,Php,Pagination,Preg Replace,Leading Zero,如果数字小于10,我想创建一个带前导零的分页: 我的分页输出类似的HTML: <div> <a href="#"><</a> <span>7</span> <a href="#">8</a> <a href="#">9</a> <a href="#"
<div>
<a href="#"><</a>
<span>7</span>
<a href="#">8</a>
<a href="#">9</a>
<a href="#">10</a>
<a href="#">11</a>
<a href="#">></a>
</div>
我用str\u replace
解决了这个问题,但这很难看:
$r = str_replace(array('>1<','>2<','>3<','>4<','>5<','>6<','>7<','>8<','>9<'), array('>01<','>02<','>03<','>04<','>05<','>06<','>07<','>08<','>09<'), $r);
$r=str_replace(数组)('>12345678910203040506070809您需要捕获原始编号并将其复制到替换中
$r = preg_replace('/>([0-9])</', '>0$1<', $r);
$r=preg_replace('/>([0-9])0$1是的,您可以使用sprintf
$numPadded = sprintf("%02d", $num);
echo $numPadded;
@aynber这个问题没有说明当数字被替换为preg_replace()时该怎么做
@Barmar啊,我没有意识到OP是在生成HTML之后才尝试这样做的。最好在第一次生成HTML时这样做,而不是以后再修复。我使用内置函数来显示分页,所以我必须修改HTML输出,在preg_replace()中演示如何做到这一点
。您需要使用preg\u replace\u callback()
,这似乎有些过分。我如何捕获原始号码以便在preg\u replace
中使用它?
$numPadded = sprintf("%02d", $num);
echo $numPadded;