PHP作为一种强大的脚本语言,可以完成很多网页应用程序的开发。这其中,表格是最为常见的元素之一,往往需要用到函数来生成表格。本文将介绍5个PHP函数,可以帮助你快速生成各种各样的表格。
1. table()
table()函数是PHP中最基本的表格生成函数。它接受一个数组参数,该数组中包含一组关联数组,每个关联数组代表一行表格。这些关联数组可以包含不同数量的键值对,对应于该行中的单元格。例如,假设我们需要生成一个包含姓名、年龄和地址信息的表格,代码如下:
```
$people = array(
array('name' => 'John', 'age' => 28, 'address' => '123 Main St.'),
array('name' => 'Mary', 'age' => 21, 'address' => '345 Elm St.'),
array('name' => 'Bob', 'age' => 44, 'address' => '567 Oak St.'),
);
echo '
Name | Age | Address |
---|---|---|
' . $person['name'] . ' | ';' . $person['age'] . ' | ';' . $person['address'] . ' | ';
```
该代码将输出一个包含3个行的表格,每行有3个单元格,分别显示一个人的姓名、年龄和地址。运行结果如下:
```
Name Age Address
John 28 123 Main St.
Mary 21 345 Elm St.
Bob 44 567 Oak St.
```
2. html_table()
html_table()函数是一个更高级的表格生成函数,它接受一个数组参数,该数组中包含一组关联数组,每个关联数组代表一行表格。与table()不同的是,html_table()可自定义表格的class、id以及表头。例如,我们重写上面的例子:
```
$people = array(
array('name' => 'John', 'age' => 28, 'address' => '123 Main St.'),
array('name' => 'Mary', 'age' => 21, 'address' => '345 Elm St.'),
array('name' => 'Bob', 'age' => 44, 'address' => '567 Oak St.'),
);
$options = array(
'class' => 'people-table',
'id' => 'example-table',
'headers' => array('Name', 'Age', 'Address'),
);
echo html_table($people, $options);
```
这里我们使用了$options数组来自定义表格的样式和表头信息。运行结果如下:
```
Name | Age | Address |
---|---|---|
John | 28 | 123 Main St. |
Mary | 21 | 345 Elm St. |
Bob | 44 | 567 Oak St. |
```
3. fputcsv()
fputcsv()函数是一个基于文件的函数,用于将一行数据写入一个CSV文件。在Web开发中,CSV(Comma Separated Values)是一种常见的文件格式,用于将数据导入和导出。例如,我们可以将上面的$people数组保存为一个CSV文件:
```
$filename = 'people.csv';
$header = array('Name', 'Age', 'Address');
$fp = fopen($filename, 'w');
fputcsv($fp, $header);
foreach ($people as $person) {
fputcsv($fp, $person);
}
fclose($fp);
```
在上面的代码中,我们先打开一个文件,并调用fputcsv()函数将表头写入文件。然后我们循环遍历$people数组,将每个关联数组写入CSV文件。最后关闭文件。运行结果如下:
```
Name,Age,Address
John,28,123 Main St.
Mary,21,345 Elm St.
Bob,44,567 Oak St.
```
4. xmlwriter_start_element_ns()
xmlwriter_start_element_ns()函数是一个用于生成XML文件的函数。在Web开发中,XML也是一种常见的文件格式,用于数据交换和传输。例如,我们可以将上面的$people数组保存为一个XML文件:
```
$filename = 'people.xml';
$xmlWriter = new XMLWriter();
$xmlWriter->openURI($filename);
$xmlWriter->startDocument('1.0', 'UTF-8');
$xmlWriter->setIndent(4);
$xmlWriter->startElement('people');
foreach ($people as $person) {
$xmlWriter->startElement('person');
$xmlWriter->startElement('name');
$xmlWriter->text($person['name']);
$xmlWriter->endElement();
$xmlWriter->startElement('age');
$xmlWriter->text($person['age']);
$xmlWriter->endElement();
$xmlWriter->startElement('address');
$xmlWriter->text($person['address']);
$xmlWriter->endElement();
$xmlWriter->endElement();
}
$xmlWriter->endElement();
$xmlWriter->endDocument();
$xmlWriter->flush();
```
在上面的代码中,我们先打开一个文件,并使用XMLWriter类的方法生成XML文件。最后将XML文件写入$filename中。运行结果如下:
```
```
5. Excel表格生成函数
除了以上几种表格生成函数,在web开发中,也会用到Excel表格。对于这种情况,PHP提供了一些函数来生成Excel表格文件,比如PHPExcel。例如,我们可以将上面的$people数组保存为一个Excel表格文件:
```
require_once 'PHPExcel.php';
$people = array(
array('name' => 'John', 'age' => 28, 'address' => '123 Main St.'),
array('name' => 'Mary', 'age' => 21, 'address' => '345 Elm St.'),
array('name' => 'Bob', 'age' => 44, 'address' => '567 Oak St.'),
);
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
// 设置表格标题
$objPHPExcel->getActiveSheet()->setTitle('People List');
// 设置表格头
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Name');
$objPHPExcel->getActiveSheet()->setCellValue('B1', 'Age');
$objPHPExcel->getActiveSheet()->setCellValue('C1', 'Address');
// 填充数据
$row = 2;
foreach ($people as $person) {
$objPHPExcel->getActiveSheet()->setCellValue('A' . $row, $person['name']);
$objPHPExcel->getActiveSheet()->setCellValue('B' . $row, $person['age']);
$objPHPExcel->getActiveSheet()->setCellValue('C' . $row, $person['address']);
$row++;
}
// 保存文件
$filename = 'people.xls';
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save($filename);
```
在上面的代码中,我们使用PHPExcel类来创建一个Excel表格。然后我们设置表格标题和表格头,并循环填充数据。最后,我们使用PHPExcel_IOFactory类的方法将表格保存为Excel文件。运行结果如下:

以上就是本文介绍的5个PHP函数,它们可以帮助你生成各种各样的表格,包括基本的HTML表格、CSV文件、XML文件和Excel表格。这些函数可以帮助你快速生成表格和文件,提高了Web应用程序的可视化和可交换性。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复