Php 打印没有内容的数组结构?

Php 打印没有内容的数组结构?,php,Php,我想知道是否有一种方法可以只打印数组的结构而不打印内容。我通常使用print\u r来检查结构,但由于我的数组包含一些二进制数据,我不想使用它。 <?php function print_no_contents($arr) { foreach ($arr as $k=>$v) { echo $k."=> "; if (is_array($v)) { echo "\n";

我想知道是否有一种方法可以只打印数组的结构而不打印内容。我通常使用print\u r来检查结构,但由于我的数组包含一些二进制数据,我不想使用它。


<?php
    function print_no_contents($arr) {
        foreach ($arr as $k=>$v) {
            echo $k."=> ";
            if (is_array($v)) {
                echo "\n";
                print_no_contents($v);
            }
            else echo "[data]";
            echo "\n";
        }
    }
?>
*没有测试这个,但是应该让你开始了。

你就不能这样做吗

foreach ($array as $structure=>$data){
  echo $structure."=><br />";
}
foreach($array as$structure=>$data){
echo$structure.“=>
”; }
我喜欢用它来监视所有变量。您可以为它提供一个ini设置来截断转储的值,并且它提供了一些合理的限制(尽管我不确定它通常对二进制数据做什么)

ini_集合('xdebug.var_display_max_data',0); 变量转储($您的变量);
你可以从

下载,这里是数组结构和数据

        echo printArray($your_array);

        function printArray($a,$return=true) {
                   if(!$return)
                      echo "<pre style=\"font-size:12px;\">".print_r($a,true)."</pre>";
                   else
                       return "<pre style=\"font-size:12px;\">".print_r($a,true)."</pre>";
        }
echo打印阵列($your_阵列);
函数printary($a,$return=true){
如果(!$return)
回显“.print_r($a,true)。”;
其他的
返回“.print_r($a,true)”;
}

向函数中添加第二个名为
$count=0
的参数,并将函数调用为
print\u no\u contents($v,+$count)并在
echo$k.=>”
部分前面执行类似于
strepeat(“”,$count)
的操作,以获得一些良好的缩进:)编写自己的递归函数模拟打印?这是一个很好的开端,回答很好,但它只能处理数组的顶层。您需要这样做才能获得完整的结构:
函数输出\数组\结构($array,$type=”“){echo”“;foreach($array as$structure=>$data){echo“$structure”;if(is\u array($data)){output_array_structure($data,“type='a');}}}echo”“;}
        echo printArray($your_array);

        function printArray($a,$return=true) {
                   if(!$return)
                      echo "<pre style=\"font-size:12px;\">".print_r($a,true)."</pre>";
                   else
                       return "<pre style=\"font-size:12px;\">".print_r($a,true)."</pre>";
        }