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);
相关推荐
万粉变现经纪人几秒前
如何解决 pip install -r requirements.txt 无效可编辑项 ‘e .‘(-e 拼写错误)问题
开发语言·python·r语言·beautifulsoup·pandas·pip·scipy
say_fall16 分钟前
精通C语言(2.结构体)(内含彩虹)
c语言·开发语言·windows
潇凝子潇16 分钟前
在使用Nacos作为注册中心和配置中心时,如何解决服务发现延迟或配置更新不及时的问题
开发语言·python·服务发现
纵横八荒1 小时前
Java基础加强13-集合框架、Stream流
java·开发语言
欣然~1 小时前
百度地图收藏地址提取与格式转换工具 说明文档
java·开发语言·dubbo
William_cl2 小时前
C# MVC 修复DataTable时间排序以及中英文系统的时间筛选问题
开发语言·c#·mvc
running thunderbolt2 小时前
项目---网络通信组件JsonRpc
linux·服务器·c语言·开发语言·网络·c++·性能优化
小马学嵌入式~2 小时前
堆排序原理与实现详解
开发语言·数据结构·学习·算法
SundayBear2 小时前
Qt 开发修炼指南:从入门到通透的实战心法
开发语言·qt·嵌入式
_w_z_j_3 小时前
C++----bitmap位图的使用
开发语言·c++