我正在尝试使用sprintf使 PHP 变长。这是我使用的代码:
<?php
echo sprinf ("%*s | %*s | %*s | %*s\r\n%*s | %*s | %*s | %*s\r\n",
6,"Monkey", 7,"Cats", 7,"Giraffe", 6,"Goat",
6,"Goat", 7,"Giraffe", 7,"Cats", 6,"Monkey")
?>
预期的:
Monkey | Cats | Giraffe | Goat
Goat | Giraffe | Cats | Monkey
结果:
s | s | s | s
s | s | s | s
所以,我做了我自己的功能:
<?php
function _sp($p,$str){
$pAkhir=$p-strlen($str);
if($pAkhir<0)$pAkhir=0;
$pStr=null;for($i=0;$i<$pAkhir;$i++)$pStr.=chr(32);
return $str.$pStr;
}
?>
因此:
<?php
echo sprintf ("%s | %s | %s | %s\r\n%s | %s | %s | %s\r\n",
_sp(6,"Monkey"),_sp(7,"Cats"),_sp(7,"Giraffe"),_sp(6,"Goat"),
_sp(6,"Goat"),_sp("Giraffe"),_sp(7,"Cats"),_sp(6,"Monkey"))
?>
有没有更有效的方法,使用原生 PHP 函数?