title: ArrayToTextTable meta:
- name: description content: Used to output table information.
- name: keywords content: swoole|swoole extension|swoole framework|Easyswoole|Component Library|Miscellaneous Tools
ArrayToTextTable
Use
Used to convert array data to table output.
Core Object Class
To implement this component function you need to load the core class:
EasySwoole\Utility\ArrayToTextTable
Core Object Method
getTable
Get the form
- mixed $data table data
Public function getTable($data = null)
setIndentation
Set table indentation
- mixed $indentation setting indentation
public function setIndentation($indentation)
isDisplayHeader
Set the table header
- bool $displayHeader Do you need a table header?
Public function isDisplayHeader(bool $displayHeader)
setKeysAlignment
Set table header alignment
- mixed $keysAlignment table header alignment
Public function setKeysAlignment($keysAlignment)
setValuesAlignment
Set table data alignment
- mixed $keysAlignment table header alignment
Public function setValuesAlignment($valuesAlignment)
setFormatter
Processing tabular data format
- mixed $formatter data mode
public function setFormatter($formatter)
how to use
Creating objects of the core class
$data = [['name' => 'James','age' => '20','sex'=>'man'],['name' => 'Tony','age' => 50,'email' => '291323003@qq.com',],];// Create a core class object, and bring in the data parameter $data$renderer = new \EasySwoole\Utility\ArrayToTextTable($data);// Set the table indentation$renderer->setIndentation("\t");// Set the table header$renderer->isDisplayHeader(true);// Set the table header alignment$renderer->setKeysAlignment(\EasySwoole\Utility\ArrayToTextTable::AlignLeft);// Set the table data alignment$renderer->setValuesAlignment(\EasySwoole\Utility\ArrayToTextTable::AlignLeft);// Processing table data format$renderer->setFormatter(function (&$value,$key){if($key == 'sex'){if(empty($value)){$value = 'Unknown gender';}}else if($key == 'email'){if(empty($value)){$value = 'Unknown mailbox';}}});$table = $renderer->getTable();echo $renderer;
::: tip
Ps: Please run in the command line mode. If the border of the table is not aligned, check whether the space ratio of the Chinese font and the English font is 2:1.
:::
