从PHP数组输出(回显/打印)所有内容

时间:2009-03-28 22:18:47

标签: php arrays

是否可以回显或打印数组的全部内容而无需指定数组的哪个部分?

场景:我试图回应所有内容:

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

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

9 个答案:

答案 0 :(得分:34)

如果你想自己格式化输出,只需添加另一个循环(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()。

答案 1 :(得分:19)

好看&amp;可读的结果,请使用:

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

上述功能将保留原始格式,使其(更多)在Web浏览器中可读。

答案 2 :(得分:6)

var_dump()可以做到这一点。

  

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

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

答案 3 :(得分:4)

我认为您正在寻找print_r,它会将数组打印为文本。你无法控制格式,它更适合调试。如果你想要很酷的格式化,你需要手动完成。

答案 4 :(得分:3)

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

请参阅http://www.php.net/print_r

答案 5 :(得分:3)

如果您正在调试数组,这是一个我一直使用它的小功能。与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 :(得分:1)

与karim相似,但print_r的输出量很小,我发现通常都是你需要的:

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

答案 7 :(得分:0)

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

回声''; 的print_r($行);

答案 8 :(得分:0)

 //@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个Patameters
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.
}