tridcatij / asciitables
此软件包最新版本(dev-master)没有可用的许可证信息。
此软件包将多维数组转换为ASCII表格。
dev-master
2017-08-30 12:47 UTC
This package is not auto-updated.
Last update: 2024-09-21 15:10:15 UTC
README
此软件包将多维数组转换为ASCII表格
基于此仓库 https://github.com/pgooch/PHP-Ascii-Tables
此类可以将多维数组转换为ASCII表格,反之亦然。
安装
您可以通过composer使用以下命令安装此软件包
composer require tridcatij/asciitables:dev-master --prefer-source
将服务提供者添加到您的config/app.php
文件中的providers
键
// ... 'providers' => [ /* * Package Service Providers... */ Tridcatij\Asciitables\AsciitableServiceProvider::class, ], // ...
和外观
// ... 'aliases' => [ /* * Class Aliases... */ 'Asciitable' => Tridcatij\Asciitables\AsciitableFacade::class, ], // ...
用法
将Asciitable
外观添加到您的控制器中。然后,您可以调用以下三个函数之一
make_table($array,[$title],[$return])
将使用传递的多维$array
创建表格。此外,您可以指定一个可选的$title
,它将位于表格上方的行中居中。变量$return
提供3个选项;True
将返回数组作为数组,False
将直接输出数组,而字符串将尝试将数组保存到具有给定名称/位置的文本文件中,并在完成后返回true/false。如果为false,错误消息将记录到$error
类变量。break_table($table)
接受一个表格或包含来自make_table()
输出的文本文件的文件名,并将返回一个与您提供给make_table()
以创建它的类似的多维数组。scrape_table($table,$key,[$value])
将接受一个表格或指向包含表格的文件的链接,就像break_table()
一样,但只返回请求的键/值对。如果您不包括值,它将使用键作为值,并以数字数组的形式返回它。请注意,如果您同时使用键和值,则多个键将覆盖彼此,并且返回的数组将只包含表中的最后一个。
示例
use Asciitable; $data = [ ['id' => 1, 'name' => 'Tom', 'status' => 'active'], ['id' => 2, 'name' => 'Nick', 'status' => 'disabled'], ['id' => 3, 'name' => 'Peter', 'status' => 'active'], ]; $table = Asciitable::make_table($data, 'Users', true); echo "<pre>$table</pre>"; print_r(Asciitable::scrape_table($table,'name','status'));
输出
Users
+----+-------+----------+
| id | name | status |
+----+-------+----------+
| 1 | Tom | active |
| 2 | Nick | disabled |
| 3 | Peter | active |
+----+-------+----------+
Array ( [Tom] => active [Nick] => disabled [Peter] => active )