ArrayToTextTable

用途

用于输出表格信息。

如何使用

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: root
  5. * Date: 19-1-9
  6. * Time: 上午10:10
  7. */
  8. require './vendor/autoload.php';
  9. $data = [
  10. [
  11. '姓名' => 'James',
  12. '年龄' => '20',
  13. 'sex'=>'男'
  14. ],
  15. [
  16. '姓名' => '这是测试姓名啊',
  17. '年龄' => 50,
  18. 'email' => '291323003@qq.com',
  19. ],
  20. ];
  21. $renderer = new \EasySwoole\Utility\ArrayToTextTable($data);
  22. $renderer->setIndentation("\t");
  23. $renderer->isDisplayHeader(true);
  24. $renderer->setKeysAlignment(\EasySwoole\Utility\ArrayToTextTable::AlignLeft);
  25. $renderer->setValuesAlignment(\EasySwoole\Utility\ArrayToTextTable::AlignLeft);
  26. $renderer->setFormatter(function (&$value,$key){
  27. if($key == 'sex'){
  28. if(empty($value)){
  29. $value = '未知性别';
  30. }
  31. }else if($key == 'email'){
  32. if(empty($value)){
  33. $value = '未知邮箱';
  34. }
  35. }
  36. });
  37. $table = $renderer->getTable();
  38. echo $renderer;

ps: 执行的时候请用命令行的模式运行;如若遇到表格的外框线没有对齐,请检查中文字体和英文的字体所占用的空间比是否为2:1。

核心对象方法

核心类:EasySwoole\Utility\ArrayToTextTable

getTable

获取表格:

  • mixed $data 表格数据
  1. public function getTable($data = null)

setIndentation

设置表格缩进

  • mixed $indentation 设置缩进
  1. public function setIndentation($indentation)

isDisplayHeader

设置表格头部

  • bool $displayHeader 是否需要表格头部
  1. public function isDisplayHeader(bool $displayHeader)

setKeysAlignment

设置表格头部对齐方式

  • mixed $keysAlignment 表格头部对齐方式
  1. public function setKeysAlignment($keysAlignment)

setValuesAlignment

设置表格数据对齐方式

  • mixed $valuesAlignment 表格数据对齐方式
  1. public function setValuesAlignment($valuesAlignment)

setFormatter

处理表格数据格式

  • mixed $formatter 数据方式
  1. public function setFormatter($formatter)