PHP学习-[查看数组和变量,SeeVar($var);输出数组元素换行&&可折叠]

来源:互联网 发布:美国警察知乎 编辑:程序博客网 时间:2024/06/06 16:30

<?phpheader("Content-Type: text/html;charset=utf-8"); //告诉浏览器编码function GetVarName(&$var, $scope=null){      $scope = $scope==null? $GLOBALS : $scope; // 如果没有范围则在globals中找寻      // 因有可能有相同值的变量,因此先将当前变量的值保存到一个临时变量中,然后再对原变量赋唯一值,以便查找出变量的名称,找到名字后,将临时变量的值重新赋值到原变量      $tmp = $var;       $var = 'tmp_value_'.mt_rand();      $name = array_search($var, $scope, true); // 根据值查找变量名称      $var = $tmp;      return $name;  }function SeeVar(&$var){    if(is_array($var)){SeeArray($var);return;}    if(is_string($var))$var="'".$var."'";    if(is_bool($var)){if($var)$var='true';else $var='false';}    echo '<div style="padding:0.3em 0 0.3em 0">';    echo '$'.GetVarName($var).'='.$var;    echo '</div>';}function SeeArray(&$arr,$open=true){    if(!is_array($arr))return;    if($open)$open='open';else $open='';    $arrName=GetVarName($arr);    echo "<details $open         style='display:inline-block;vertical-align:text-top;        '><summary>Array $arrName</summary>";    foreach($arr as $k => $v){        if(is_string($k))$k="'".$k."'";        if(is_array($v)){            echo "<div style=\"padding:0 0 0 1.2em;\">";            echo "[$k] =>";            SeeArray($v);            echo "</div>";            continue;        }        echo "<div style='padding:0 0 0 1.2em;'>            [$k] => $v            </div>";    }    echo "</details><br/>";}$testArray=[1,2,'color'=>'red','food'=>['面包','馒头']];SeeVar($testArray);?>


输出样式:




0 0