PHP sprintf Space Padding

use*_*088 6 php space padding

我的代码中有以下行,它以6个字符显示我的输出,前导零.

$formatted_value = sprintf("%06d", $phpPartHrsMls);
Run Code Online (Sandbox Code Playgroud)

我想用空格替换前导零.尝试过通过搜索本网站和其他网站找到的所有示例,但无法弄明白.

这是我尝试过的一些.

$formatted_value = sprintf("%6s", $phpPartHrsMls);

$formatted_value = printf("[%6s]\n",    $phpPartHrsMls); // right-justification with spaces
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!!

Nie*_*sol 8

在浏览器中,空格将始终折叠.

尝试:

<pre><?php echo $formatted_value; ?></pre>
Run Code Online (Sandbox Code Playgroud)

一旦你对此感到满意,看看CSS white-space:pre-wrap- 一个非常有用的属性!


H A*_*døµ 5

这将使左侧与空格对齐:

$formatted_value = sprintf("%6s", $phpPartHrsMls);
echo "<pre>" . $formatted_value . "</pre>";
Run Code Online (Sandbox Code Playgroud)

这将使右侧与空格对齐:

$formatted_value = sprintf("%-6s", $phpPartHrsMls);
echo "<pre>" . $formatted_value . "</pre>";
Run Code Online (Sandbox Code Playgroud)

如果你只想打印六位数字,而其他的则删除:

$formatted_value = sprintf("%-6.6s", $phpPartHrsMls);
echo "<pre>" . $formatted_value . "</pre>";
Run Code Online (Sandbox Code Playgroud)

另一件事是,浏览器通常会忽略空格,因此最好将输出包装在<pre>标签中。