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);
相关推荐
LinHenrY1227几秒前
初识C语言(自定义结构:结构体)
c语言·开发语言
Matlab仿真实验室5 分钟前
基于Matlab实现可见光通信仿真
开发语言·matlab
CreasyChan13 分钟前
C# 反射详解
开发语言·前端·windows·unity·c#·游戏开发
毕设源码-赖学姐21 分钟前
【开题答辩全过程】以 基于Java的保定理工科研信息管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
派大鑫wink27 分钟前
从零到精通:Python 系统学习指南(附实战与资源)
开发语言·python
JIngJaneIL41 分钟前
基于Java+ vue智慧医药系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
羸弱的穷酸书生1 小时前
国网 i1协议 python实现
开发语言·python
电子硬件笔记1 小时前
Python语言编程导论第三章 编写程序
开发语言·python·编辑器
布谷歌1 小时前
在java中实现c#的int.TryParse方法
java·开发语言·python·c#
cooldream20091 小时前
当代 C++ 的三大技术支柱:资源管理、泛型编程与模块化体系的成熟演进
开发语言·c++