我试图使用printf进行格式化,但我意识到当我使用%d
时,我不能使用0
作为带有-
对齐的填充说明符。以下是我要做的:
$a = sprintf("%04d",5);
$b = sprintf("%'1-4d",5);
$c = sprintf("%0-4d",5);
$d = sprintf("%0-4s",5);
var_dump($a);//outputs 0005
var_dump($b);//outputs 5111
var_dump($c);//outputs 5(and 4 spaces) why not 5000?
var_dump($d);//outputs 5000
我认为PHP正在为您思考。
如果你用四个0
字符右键填充5
,你如何区分它和50000
之间的区别?还是在用四个0
字符右填充的5
和用三个0
字符右填充50
之间?
我手头没有PHP可供测试,但如果您试图使用格式"%'0-4d"
来说服它做您想做的事情,该怎么办?