【问题标题】:Output (echo/print) everything from a PHP Array从 PHP 数组输出(回显/打印)所有内容
【发布时间】:2009-03-28 22:18:46
【问题描述】:

是否可以在不指定数组的哪一部分的情况下回显或打印数组的全部内容?

场景:我试图回应来自:

while($row = mysql_fetch_array($result)){
echo $row['id'];
}

不指定“id”,而是输出数组的完整内容。

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    如果你想自己格式化输出,只需添加另一个循环(foreach)来遍历当前行的内容:

    while ($row = mysql_fetch_array($result)) {
        foreach ($row as $columnName => $columnData) {
            echo 'Column name: ' . $columnName . ' Column data: ' . $columnData . '<br />';
        }
    }
    

    或者如果您不关心格式,请使用前面答案中推荐的 print_r 函数。

    while ($row = mysql_fetch_array($result)) {
        echo '<pre>';
        print_r ($row);
        echo '</pre>';
    }
    

    print_r() 仅打印数组的键和值,而 var_dump() 也打印数组中数据的类型,即 String、int、double 等。如果您确实关心数据类型 - 使用 var_dump() 而不是 print_r()。

    【讨论】:

      【解决方案2】:

      要获得漂亮且可读的结果,请使用:

      function printVar($var) {
          echo '<pre>';
          var_dump($var); 
          echo '</pre>';
      }
      

      上述函数将保留原始格式,使其在网络浏览器中(更)可读。

      【讨论】:

      • 你不应该叫它 printVar 或 debugVar 吗?为什么叫它 readVar?
      • 好点,即时命名。应该是 printVar。感谢您的反对。
      【解决方案3】:

      var_dump() 可以做到这一点。

      此函数显示有关一个或多个表达式的结构化信息,包括其类型和值。数组和对象通过缩进显示结构的值递归探索。

      http://php.net/manual/en/function.var-dump.php

      【讨论】:

        【解决方案4】:

        我认为您正在寻找print_r,它将以文本形式打印出数组。您无法控制格式,但更多的是用于调试。如果你想要很酷的格式,你需要手动完成。

        【讨论】:

          【解决方案5】:

          如果您正在调试数组,这是我一直使用的一个小功能。它与 Darryl 和 Karim 发布的内容几乎相同。我刚刚添加了一个参数标题,这样你就有了一些调试信息作为你正在打印的数组。它还会检查您是否为它提供了一个有效的数组,如果没有,它会通知您。

          function print_array($title,$array){
          
                  if(is_array($array)){
          
                      echo $title."<br/>".
                      "||---------------------------------||<br/>".
                      "<pre>";
                      print_r($array); 
                      echo "</pre>".
                      "END ".$title."<br/>".
                      "||---------------------------------||<br/>";
          
                  }else{
                       echo $title." is not an array.";
                  }
          }
          

          基本用法:

          //your array
          $array = array('cat','dog','bird','mouse','fish','gerbil');
          //usage
          print_array("PETS", $array);
          

          结果:

          PETS
          ||---------------------------------||
          
          Array
          (
              [0] => cat
              [1] => dog
              [2] => bird
              [3] => mouse
              [4] => fish
              [5] => gerbil
          )
          
          END PETS
          ||---------------------------------||
          

          【讨论】:

            【解决方案6】:

            您可以使用print_r 获得人类可读的输出。

            http://www.php.net/print_r

            【讨论】:

              【解决方案7】:

              类似于 karim 的,但 print_r 的输出要小得多,我发现通常你只需要:

              function PrintR($var) {
                  echo '<pre>';
                  print_r($var);
                  echo '</pre>';
              }
              

              【讨论】:

                【解决方案8】:

                您可以使用 print_r 获得人类可读的输出。 但要将其显示为文本,我们添加“echo '';”

                回声''; print_r($row);

                【讨论】:

                  【解决方案9】:
                   //@parram $data-array,$d-if true then die by default it is false
                   //@author Your name
                  
                   function p($data,$d = false){
                  
                       echo "<pre>"; 
                           print_r($data);
                       echo "</pre>"; 
                  
                       if($d == TRUE){
                          die();
                       } 
                  } // END OF FUNCTION
                  

                  每当您需要字符串或数组时使用此函数,它会非常好用。
                  有2个参数
                  1.$data - 可以是数组或字符串
                  2.$d - 默认情况下它是 FALSE 但如果你设置为 true 那么它将执行 die() 函数

                  在你的情况下,你可以这样使用....

                  while($row = mysql_fetch_array($result)){
                      p($row); // Use this function if you use above function in your page.
                  }
                  

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2012-07-17
                    • 1970-01-01
                    • 2015-12-08
                    • 2019-04-25
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-05-01
                    相关资源
                    最近更新 更多