解析用PHP实现var_export的详细介绍

代码如下:

<?php
/**
 * PHP 实现var_export();功能
 */
   $arr = array("1","2","3");
   $arr1 = array('a'=>NULL,'b'=>array('1'=>3));
   var_export($arr);
   //var_export($arr1);
  function varExport($arr){
     $ret = "array( ";
     foreach($arr as $k=>$v){
        $ret .= (is_numeric($k) ? $k : "'".$k."'");
        $ret .= ' => ';
        $_type = strtolower(gettype($v));
        switch($_type){
           case 'integer':
               $ret .= $v." ,";
               break;
           case 'array':
                $ret .= varExport($v).',';
                break;
           case 'null':
                $ret .= "NULL ,";
                break;
           default:
               $ret  .= "'".$v."',";
               break;
        }
     }
     $ret .= " )";
     return $ret;
  }
  //echo varExport($arr);
   echo varExport($arr);
   //bool is_numeric ( mixed $var )如果 var 是数字和数字字符串则返回 TRUE,否则返回 FALSE
   //故不能用 is_numeric 验证是否为int类型。。。
?>

(0)

相关推荐

  • php中chdir()函数用法实例

    本文实例讲述了php中chdir()函数的用法.分享给大家供大家参考.具体用法分析如下: php chdir() 函数语法:bool切换目录(字符串目录)dirDirectory改变to.Changes当前工作目录. 语法:bool切换目录(字符串目录)dirDirectory改变to.Changes当前工作目录,在成功返回真,如果发生错误,则返回FALSE. 范例代码如下: 复制代码 代码如下: <?php if (chdir("upload")) {     print &q

  • php中var_export与var_dump的区别分析

    一 var_dump (PHP 3 >= 3.0.5, PHP 4, PHP 5) var_dump -- 打印变量的相关信息 描述 void var_dump ( mixed expression [, mixed expression [, ...]] ) 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值.数组将递归展开值,通过缩进显示其结构. 复制代码 代码如下: $data = array ('name' => 'abc', 'job' => 'programmer

  • php中substr()函数参数说明及用法实例

    本文实例讲述了php中substr()函数参数说明及用法.分享给大家供大家参考.具体如下: string substr(string $string ,int $start [, int $length ]),它可以用于在一个较长的字符串中查找匹配的字符串或字符,$string为所要处理的字符串,$start为开始选取的位置,$length为要选取的长度. $length 为正数据从左向右读取字符. $length 为负数时就右向左读取字符. string 必需,规定要返回其中一部分的字符串.

  • php函数serialize()与unserialize()用法实例

    本文实例讲述了php函数serialize()与unserialize()用法.分享给大家供大家参考.具体方法如下: 该实例主要讲述了php函数serialize()与unserialize()说明及案例.想要将已序列化的字符串变回 PHP 的值,可使用unserialize().serialize()可处理除了resource之外的任何类型.甚至可以serialize()那些包含了指向其自身引用的数组.你正serialize()的数组/对象中的引用也将被存储. serialize()返回字符串

  • 解析php中var_dump,var_export,print_r三个函数的区别

    下面的示例看看这三个函数的具体的区别,其中var_dump和var_export比较少用,但他们两者又很相似.所以可以看看: 复制代码 代码如下: <?php$a = array(1,1,32,322,3433,array(32,232,23232));$b = 1234;$c = "alsdfl;asdf";$d = 'a';$e = fopen("slsl.txt", "r");var_dump($a);echo "<b

  • php中opendir函数用法实例

    本文实例分析了php中opendir函数用法.分享给大家供大家参考.具体如下: opendir语法:opendir(path,context) 目录,功能说明:打开目录句柄,opendir() 函数打开一个目录句柄,则该函数返回一个目录流,否则返回false.来看个opendir列出目录下所有文件实例,代码如下: 复制代码 代码如下: $dirs ='./';//指定当前上当 if( is_dir( $dirs ) ) {  $hanld = opendir($dirs);    while (

  • php的dl函数用法实例

    本文实例讲述了php的dl函数用法.分享给大家供大家参考.具体如下: PHP的dl函数官网说明如下: http://www.php.net/manual/en/function.dl.php 具体用法示例如下: 复制代码 代码如下: <?php // Example loading an extension based on OS if (!extension_loaded('sqlite')) {     if (strtoupper(substr(PHP_OS, 0, 3)) === 'WI

  • php var_export与var_dump 输出的不同

    问题发现在跟踪yratings_get_targets的时候,error_log(var_export(yblog_mspconfiginit("ratings"),true));老是打印出yblog_mspconfiginit("ratings")的返回是NULL 导致我以为是无法建立和DB的连接,走错路了一天.最后才发现,这是var_export和var_dump的区别之一 这就是:问题原因var_export必须返回合法的php代码, 也就是说,var_exp

  • php中explode函数用法分析

    本文实例分析了php中explode函数用法.分享给大家供大家参考.具体如下: explode(string separator,string string [,int limit]) separator 为空字符串(""),explode() 将返回 FALSE,如果 separator 所包含的值在 string 中找不到,那么 explode() 将返回包含 string 单个元素的数组. explode实例一,代码如下: 复制代码 代码如下: $explode = "

  • php格式输出文件var_export函数实例

    本文实例讲述了php格式输出文件var_export函数的用法.分享给大家供大家参考.具体如下: var_export:php 4 >= 4.2.0, php 5 var_export -- 输出或返回一个变量的字符串表示. 描述:mixed var_export (mixed expression [,bool return]) 此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 php 代码,您可以通过将函数的第二个参数设置为 true

  • php中strtotime函数用法详解

    本文实例讲述了php中strtotime函数用法.分享给大家供大家参考.具体如下: strtotime(字符串$时间[,诠释$现在])int strtotime(string $time [,int $now] 该函数期望得到一个包含美国英语日期格式,并会尝试解析成一个Unix时间戳(多少秒自1970年1月1日00:00:00星期一该格式),相对于现在提供的时间戳,或当前时间如果现在不提供 这个函数将使用TZ环境变量(如果有)来计算时间戳,自PHP 5.1.0有更容易的方法来确定所使用的所有/日

随机推荐