zoukankan      html  css  js  c++  java
  • php 5.4 var_export的改进

    用 var_export 来将数据存储到 php 配置文件里的时候,发现var_export转出来的变量定义还是 array()这种形式,不能转为[],所以自己写个函数来转换一下,代码如下:

    <?php
    function format_var_export($data = [])
    {
        $string = "<?php\n\nreturn " . var_export($data, TRUE) . ";";
        $string = str_replace("=> \n  array (", "=> [", $string);
        $string = str_replace("),", "],", $string);
        $string = str_replace(");", "];", $string);
        $string = str_replace("array (", "[", $string);
        $string = str_replace("  ", "    ", $string);
        return $string;
    }

    实验一下

    config.php 代码如下:

    <?php
    
    
    $data = [
        'user' => [
            'name' => 'hello',
            'uid' => 1
        ],
        'tel' => [
            'type' => 'phone',
            'number' => '123456',
        ]
    ];
    
    $string = format_var_export($data);
    
    echo $string;
    
    function format_var_export($data = [])
    {
        $string = "<?php\n\nreturn " . var_export($data, TRUE) . ";";
        $string = str_replace("=> \n  array (", "=> [", $string);
        $string = str_replace("),", "],", $string);
        $string = str_replace(");", "];", $string);
        $string = str_replace("array (", "[", $string);
        $string = str_replace("  ", "    ", $string);
        return $string;
    }

    执行脚本 php config.php

    输出

    好了,这就是我们要的,将这个数据存储到配置文件就行了。

  • 相关阅读:
    while...break 实例
    java ++ -- 异或 短路与 短路或 三目条件
    Java StringBuffer与StringBuider
    输入任意5个整数,输出它们的和。
    java输入年份和月份,输出天数
    进制转换
    luogu 4884 多少个1?
    SDOI2013 随机数生成器
    CQOI2018 破解D-H协议
    模板BSGS(SDOI2011计算器) 模板EXBSGS
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/15618380.html
Copyright © 2011-2022 走看看