📅  最后修改于: 2023-12-03 15:03:40.203000             🧑  作者: Mango
在 PHP 开发中,经常需要将数据按照一定的格式进行展示或者输出,这时就需要一个通用的函数来处理。本篇介绍的是这样一个函数,即 getFormat()
函数。该函数可以将数据按照不同的格式进行输出。
function getFormat($data, $format = 'json') {
// code here
}
$data
:表示要格式化的数据,可以是数组、对象或字符串。$format
:表示输出的格式,支持 json
、xml
、html
、csv
、txt
等多种格式。该函数返回一个字符串,表示格式化后的数据。
函数 getFormat()
的实现思路如下:
$format
参数判断输出格式,选择不同的处理方式。json_encode()
、SimpleXMl()
等)对数据进行格式化处理。// getFormat() function
function getFormat($data, $format = 'json') {
switch($format) {
case 'json':
return json_encode($data);
case 'xml':
$xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><root></root>');
array_walk_recursive($data, array($xml, 'addChild'));
return $xml->asXML();
case 'html':
$table = '<table>';
foreach($data as $row) {
$table .= '<tr>';
foreach($row as $col) {
$table .= '<td>' . $col . '</td>';
}
$table .= '</tr>';
}
$table .= '</table>';
return $table;
case 'csv':
$fp = fopen('php://temp', 'w');
foreach ($data as $fields) {
fputcsv($fp, $fields);
}
rewind($fp);
$csv = stream_get_contents($fp);
fclose($fp);
return $csv;
case 'txt':
$txt = '';
foreach($data as $line) {
$txt .= implode("\t", $line) . "\n";
}
return $txt;
default:
return '';
}
}
getFormat()
函数是一个通用的数据格式化函数,可以支持多种常见格式,让数据展示更加灵活。函数的实现比较简单,只需要根据不同的格式,选择不同的处理方式即可。这个函数同样可以根据自己的实际需求进行扩展,来适应更多的格式化输出要求。