使用stru pad()格式化文本输出

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用stru pad()格式化文本输出相关的知识,希望对你有一定的参考价值。

This is a simple php class that can be used to produce nicely formatted reports from unorganized data.
  1. class fileFormatter
  2. {
  3. public $map = array();
  4. public $width = 0;
  5. public function setMap($inArray) {
  6. $this->map=$inArray;
  7. }
  8. public function setWidth ($inWidth) {
  9. $this->width=$inWidth;
  10. }
  11. public function centerHeading($str) {
  12. $pad=intval(($this->width-strlen($str))/2);
  13. $blank=' ';
  14. return str_pad($blank,$pad).$str.PHP_EOL;
  15. }
  16. public function formatLine($data) {
  17. $dataArray=explode(',',$data);
  18. $out=NULL;
  19. for($i=0;$i<count($dataArray);$i++) {
  20. $out.=str_pad($dataArray[$i],$this->map[$i]);
  21. }
  22. return $out.PHP_EOL;
  23. }
  24.  
  25. Used in script this way:
  26.  
  27. $report=new fileformatter();
  28. $heading='Report Heading';
  29. $lineWidth=70;
  30. $columns=array(10,11,15,15,19);
  31. $colHeadings='Source,Id Code,Location,Agent,Status';
  32. $report->setWidth($lineWidth);
  33. $report->setMap($columns);
  34. $infile=fopen('infile.txt', 'r');
  35. $outfile=fopen('outfile.txt', 'a');
  36. fputs($outfile,$report->centerHeading($heading));
  37. fputs($outfile,$report->formatLine($colHeadings));
  38. while (!feof($infile)) {
  39. $line=trim(fgets($infile));
  40. fputs($outfile,$report->formatLine($line));
  41. }
  42. $dateLine=' ,Report Run: ' . date("Y-m-d H:i:s");
  43. fputs($outfile,$report->formatLine($dateLine));
  44. fclose( $infile );
  45. fclose( $outfile );

以上是关于使用stru pad()格式化文本输出的主要内容,如果未能解决你的问题,请参考以下文章

我应该如何使用 Outlook 发送代码片段?

tensorflow中卷积层输出特征尺寸计算和padding参数解析

使用PHP格式化HTML代码以纯文本输出[重复]

将多个输出中的hls属性设置为单独的片段代码

Summernote 在浏览器中输出代码而不是格式化文本

了解 BitTorrent 片段输出