在PHP中是否有与Perl格式函数相同的功能?我有一个客户端有一个老式的okidata dotmatrix打印机,需要一个很好的方法来格式化收据和账单与这个神秘的野兽。
我记得很容易在perl中使用类似的东西:
format BILLFORMAT =
Name: @>>>>>>>>>>>>>>>>>>>>>> Age: @###
$name, $age
.
write;
任何想法都会非常感激,用这个想法把我的头撞在墙上。 O.o
更新:我无法在此环境中安装Perl,否则我只是直接使用Perl的格式函数。
答案 0 :(得分:3)
你可以使用printf做类似的事情。
http://www.php.net/manual/en/function.printf.php
printf("Name: %21s Age: %3i\n",$name,$age);
如果您希望名称左对齐,则只需添加 -
printf("Name: %-21s Age: %3i\n",$name,$age);
默认为右对齐。
答案 1 :(得分:0)
如果您不介意使用Perl进程来控制打印机,可以在PHP中序列化数据并将其传递给Perl脚本。
我很幸运使用PHP::Serialization来处理Perl和PHP之间的数据序列化和共享。您也可以使用YAML或JSON执行此任务。
答案 2 :(得分:-2)
使用heredoc听起来很完美。