php中var_export与var_dump的区别分析

一 var_dump

void var_dump ( mixed expression [, mixed expression [, ...]] )
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

二 var_export

var_export -- 输出或返回一个变量的字符串表示 
描述 
mixed var_export ( mixed expression [, bool return] ) 

此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。 
您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。 
EG: 
var_export(array('a','b',array('aa','bb','cc'))) 这种与VAR_DUMP没什么区别; 

$var =var_export(array('a','b',array('aa','bb','cc')),TRUE),加上TRUE后,不会再打印出来,而是给了一个变量,这样就可以直接输出; 
echo $var;此时输出来的形式与var_dump()打印的相似。

参考:http://www.jb51.net/article/24624.htm

http://blog.csdn.net/laruence/article/details/2250358

案例:

    /**
     * 得到数组变量的GBK编码
     *
     * @param array $key 数组
     * @return array 数组类型的返回结果
     */
    public static function getGBK($key){
        /**
         * 转码
         */
        if (strtoupper(CHARSET) == 'GBK' && !empty($key)){
            if (is_array($key)){
                $result = var_export($key, true);//变为字符串
                $result = iconv('UTF-8','GBK',$result);
                eval("$result = $result;");//转换回数组
            }else {
                $result = iconv('UTF-8','GBK',$key);
            }
        }
        return $result;
    }

 

原文地址:https://www.cnblogs.com/Alight/p/4345812.html