ArrayToTextTable
功能介紹
用于把數(shù)組數(shù)據(jù)轉(zhuǎn)為表格輸出。
相關(guān)Class位置
- ArrayToTextTable
-
namespace
:EasySwoole\Utility\ArrayToTextTable
-
核心對(duì)象方法
getTable
獲取表格
- mixed $data 表格數(shù)據(jù)
public function getTable($data = null)
setIndentation
設(shè)置表格縮進(jìn)
- mixed $indentation 設(shè)置縮進(jìn)
public function setIndentation($indentation)
isDisplayHeader
設(shè)置表格頭部
- bool $displayHeader 是否需要表格頭部
public function isDisplayHeader(bool $displayHeader)
setKeysAlignment
設(shè)置表格頭部對(duì)齊方式
- mixed $keysAlignment 表格頭部對(duì)齊方式
public function setKeysAlignment($keysAlignment)
setValuesAlignment
設(shè)置表格數(shù)據(jù)對(duì)齊方式
- mixed $keysAlignment 表格頭部對(duì)齊方式
public function setValuesAlignment($valuesAlignment)
setFormatter
處理表格數(shù)據(jù)格式
- mixed $formatter 數(shù)據(jù)方式
public function setFormatter($formatter)
基本使用
創(chuàng)建核心類(lèi)的對(duì)象
$data = [
[
'name' => 'James',
'age' => '20',
'sex'=>'男'
],
[
'name' => 'Tony',
'age' => 50,
'email' => '291323003@qq.com',
],
];
//創(chuàng)建核心類(lèi)的對(duì)象,并帶入了數(shù)據(jù)參數(shù) $data
$renderer = new \EasySwoole\Utility\ArrayToTextTable($data);
//設(shè)置表格縮進(jìn)
$renderer->setIndentation("\t");
//設(shè)置表格頭部
$renderer->isDisplayHeader(true);
//設(shè)置表格頭部對(duì)齊方式
$renderer->setKeysAlignment(\EasySwoole\Utility\ArrayToTextTable::AlignLeft);
//設(shè)置表格數(shù)據(jù)對(duì)齊方式
$renderer->setValuesAlignment(\EasySwoole\Utility\ArrayToTextTable::AlignLeft);
//處理表格數(shù)據(jù)格式
$renderer->setFormatter(function (&$value,$key){
if($key == 'sex'){
if(empty($value)){
$value = '未知性別';
}
}else if($key == 'email'){
if(empty($value)){
$value = '未知郵箱';
}
}
});
$table = $renderer->getTable();
echo $renderer;
? ps: 執(zhí)行的時(shí)候請(qǐng)用命令行的模式運(yùn)行;如若遇到表格的外框線沒(méi)有對(duì)齊,請(qǐng)檢查中文字體和英文的字體所占用的空間比是否為2:1。