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

    输出

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

  • 相关阅读:
    bzoj1731 [Usaco2005 dec]Layout 排队布局
    loj10087 Intervals
    差分约束小结
    bzoj1112 [POI2008]砖块Klo
    bzoj3524 [POI2014]Couriers
    poj2752 Seek the Name, Seek the Fame
    1027C Minimum Value Rectangle
    bzoj2212 [POI2011]Tree Rotations
    bzoj3747 [POI2015]Kinoman
    628D Magic Numbers
  • 原文地址:https://www.cnblogs.com/lizhaoyao/p/15618380.html
Copyright © 2011-2022 走看看