PHP相当于Perl格式函数

时间:2010-04-05 18:51:06

标签: php perl format printing

在PHP中是否有与Perl格式函数相同的功能?我有一个客户端有一个老式的okidata dotmatrix打印机,需要一个很好的方法来格式化收据和账单与这个神秘的野兽。

我记得很容易在perl中使用类似的东西:

format BILLFORMAT = 
Name: @>>>>>>>>>>>>>>>>>>>>>>    Age: @###
      $name,                          $age
.
write;

任何想法都会非常感激,用这个想法把我的头撞在墙上。 O.o

更新:我无法在此环境中安装Perl,否则我只是直接使用Perl的格式函数。

3 个答案:

答案 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听起来很完美。