PHP:格式化JSON为PHP语法格式

  1. 原生函数
php 复制代码
$arr = [1,2,3,4];
$str = var_export($a,true);
var_dump($str);
  1. 自定义方法
php 复制代码
class Export{
  private static $space;
  private static function do($a, string $prev){
    $res = '';
    $next = $prev . self::$space;
    if (is_array($a)) {
      $res .= '[';
      foreach ($a as $k => $v)  if (is_int($k)) {
        $res .= $next . self::do($v, $next) . ',';
      } else {
        $res .= $next . self::do($k, $next) . ' => ' . self::do($v, $next) . ',';
      }
      return $res . $prev . ']';
    } else if (is_scalar($a)) {
      return is_string($a) ? '\'' . str_replace('\'', '\\\'', $a) . '\'' : json_encode($a);
    } else return 'NULL';
  }
  public static function to($a, int $space_len = 2){
    self::$space = str_repeat(' ', max($space_len, 2));
    return self::do($a, PHP_EOL);
  }
}

// $str = Export::to(转化的数据);
// var_dump($str);
相关推荐
dyyx1111 天前
C++编译期数据结构
开发语言·c++·算法
曼巴UE51 天前
UE C++ 组件 非构造函数创建的技巧
开发语言·c++
掘根1 天前
【jsonRpc项目】服务端的RpcRouter模块
开发语言·qt
小白学大数据1 天前
链家二手房数据爬取、聚类分析与可视化展示实践
开发语言·爬虫·python
杜子不疼.1 天前
【Linux】基础IO(四):用户缓冲区深度解析
linux·运维·服务器·开发语言
梦想的旅途21 天前
企业微信API自动化高效开发的实战指南
开发语言·python
2301_790300961 天前
C++中的观察者模式实战
开发语言·c++·算法
一晌小贪欢1 天前
Python ORM 深度解析:告别繁琐 SQL,让数据操作如丝般顺滑
开发语言·数据库·python·sql·python基础·python小白
m5655bj1 天前
Python 将 Markdown 转换为 Word 文档
开发语言·c#