📜  PHP |想象一下 getFormat()函数(1)

📅  最后修改于: 2023-12-03 15:03:40.203000             🧑  作者: Mango

PHP|想象一下 getFormat()函数

简介

在 PHP 开发中,经常需要将数据按照一定的格式进行展示或者输出,这时就需要一个通用的函数来处理。本篇介绍的是这样一个函数,即 getFormat() 函数。该函数可以将数据按照不同的格式进行输出。

函数原型
function getFormat($data, $format = 'json') {
    // code here
}
参数
  • $data:表示要格式化的数据,可以是数组、对象或字符串。
  • $format:表示输出的格式,支持 jsonxmlhtmlcsvtxt 等多种格式。
返回值

该函数返回一个字符串,表示格式化后的数据。

实现思路

函数 getFormat() 的实现思路如下:

  1. 根据 $format 参数判断输出格式,选择不同的处理方式。
  2. 使用 PHP 内置函数(如 json_encode()SimpleXMl() 等)对数据进行格式化处理。
  3. 返回格式化后的结果。
代码实现
// 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() 函数是一个通用的数据格式化函数,可以支持多种常见格式,让数据展示更加灵活。函数的实现比较简单,只需要根据不同的格式,选择不同的处理方式即可。这个函数同样可以根据自己的实际需求进行扩展,来适应更多的格式化输出要求。