ArrayToTextTable

用途

用于把数组数据转为表格输出。

核心对象类

实现该组件功能需加载核心类: 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 $keysAlignment 表格头部对齐方式
  1. public function setValuesAlignment($valuesAlignment)

setFormatter

处理表格数据格式

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

如何使用

创建核心类的对象

  1. $data = [
  2. [
  3. 'name' => 'James',
  4. 'age' => '20',
  5. 'sex'=>'男'
  6. ],
  7. [
  8. 'name' => 'Tony',
  9. 'age' => 50,
  10. 'email' => '291323003@qq.com',
  11. ],
  12. ];
  13. //创建核心类的对象,并带入了数据参数 $data
  14. $renderer = new \EasySwoole\Utility\ArrayToTextTable($data);
  15. //设置表格缩进
  16. $renderer->setIndentation("\t");
  17. //设置表格头部
  18. $renderer->isDisplayHeader(true);
  19. //设置表格头部对齐方式
  20. $renderer->setKeysAlignment(\EasySwoole\Utility\ArrayToTextTable::AlignLeft);
  21. //设置表格数据对齐方式
  22. $renderer->setValuesAlignment(\EasySwoole\Utility\ArrayToTextTable::AlignLeft);
  23. //处理表格数据格式
  24. $renderer->setFormatter(function (&$value,$key){
  25. if($key == 'sex'){
  26. if(empty($value)){
  27. $value = '未知性别';
  28. }
  29. }else if($key == 'email'){
  30. if(empty($value)){
  31. $value = '未知邮箱';
  32. }
  33. }
  34. });
  35. $table = $renderer->getTable();
  36. echo $renderer;

::: tip

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

:::