解析用PHP实现var_export的详细介绍
程序员文章站
2023-04-07 19:37:40
复制代码 代码如下:
<?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类型。。。
?>
复制代码 代码如下:
<?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类型。。。
?>
上一篇: 基于PHP遍历数组的方法汇总分析