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);
相关推荐
楼田莉子1 分钟前
C++学习:C++11扩展:constexpr特性
开发语言·c++·学习
懒羊羊不懒@4 分钟前
Java基础语法—最小单位、及注释
java·c语言·开发语言·数据结构·学习·算法
ss2738 分钟前
手写Spring第4弹: Spring框架进化论:15年技术变迁:从XML配置到响应式编程的演进之路
xml·java·开发语言·后端·spring
eurotruck12 分钟前
c++贪吃蛇V1.0
开发语言·c++·贪吃蛇
WordPress学习笔记19 分钟前
安装WordPress时没生成wp-config.php的解决方法
php·wp-config
Android系统攻城狮44 分钟前
C++进阶之操作符重载函数operator[]:用法实例(四百三十五)
开发语言·c++
SundayBear1 小时前
嵌入式进阶:C语言内联汇编
c语言·开发语言·汇编
浪裡遊1 小时前
Nivo图表库全面指南:配置与用法详解
前端·javascript·react.js·node.js·php
零千叶1 小时前
【面试】Java JVM 调优面试手册
java·开发语言·jvm
liulilittle1 小时前
VGW 虚拟路由器ARP剖析
开发语言·c++·编程语言·路由·sd·sdn·vgw