如何在PHP中回显或打印数组?

时间:2012-03-22 05:22:57

标签: php arrays

我有这个数组

Array
(
  [data] => Array
    (
      [0] => Array
        (
          [page_id] => 204725966262837
          [type] => WEBSITE
        )

      [1] => Array
        (
          [page_id] => 163703342377960
          [type] => COMMUNITY
        )
      )
)

我的问题是如何在没有这种结构的情况下回复内容?我试过了

foreach ($results as $result) {
    echo $result->type; 
    echo "<br>";
} 

11 个答案:

答案 0 :(得分:403)

查看数组的内容,您可以使用。

1) print_r($array);或者如果您想要格式良好的数组:

echo '<pre>'; print_r($array); echo '</pre>';

2)使用var_dump($array)获取有关数据类型和长度的数组内容的更多信息。

3)你可以使用php的foreach();循环数组并获得所需的输出。有关foreach的更多信息,请访问php的文档网站:
http://in3.php.net/manual/en/control-structures.foreach.php

答案 1 :(得分:96)

这样做

foreach($results['data'] as $result) {
    echo $result['type'], '<br>';
}

答案 2 :(得分:82)

如果您只是想知道没有格式的内容(例如用于调试目的),我使用:

echo json_encode($anArray);

这会将它显示为一个非常易读的JSON。

答案 3 :(得分:16)

您是否尝试使用print_r以人类可读的形式进行打印?

答案 4 :(得分:16)

打印数组内容具有多种功能,每个功能都有。

print_r()

打印关于变量的可读信息。

$arr = ["a", "b", "c"];
echo "<pre>";
print_r($arr);
echo "</pre>";
Array
(
    [0] => a
    [1] => b
    [2] => c
)


var_dump()

显示有关表达式的结构化信息,包括其类型和值。

echo "<pre>";
var_dump($arr);
echo "</pre>";
array(3) {
  [0]=>
  string(1) "a"
  [1]=>
  string(1) "b"
  [2]=>
  string(1) "c"
}


var_export()

显示有关给定变量的结构化信息,该变量返回的表示形式是有效的PHP代码。

echo "<pre>";
var_export($arr);
echo "</pre>";
array (
  0 => 'a',
  1 => 'b',
  2 => 'c',
)

请注意,由于浏览器将多个空格字符(包括换行符)压缩到一个空格(answer)中,因此您需要将上述函数包装在<pre></pre>中,以正确的格式显示结果。


还有另一种在特定条件下打印数组内容的方法。

echo

输出一个或多个字符串。因此,如果要使用echo打印数组内容,则需要遍历数组,并循环使用echo打印数组项。

foreach ($arr as $key=>$item){
    echo "$key => $item <br>";
}
0 => a 
1 => b 
2 => c 

答案 5 :(得分:15)

foreach($results['data'] as $result) {
    echo $result['type'], '<br />';
}

echo $results['data'][1]['type'];

答案 6 :(得分:3)

您可以使用 var_dump()函数显示有关变量/表达式的结构化信息,包括其类型和值,也可以使用 print_r()显示有关变量/表达式的结构化信息。变量以人类可读的方式。

示例:说我们有以下数组,我们想显示其内容。

$arr = array ('xyz', false, true, 99, array('50'));

print_r()函数-显示人类可读的输出

Array
(
    [0] => xyz
    [1] =>
    [2] => 1
    [3] => 99
    [4] => Array
        (
            [0] => 50
        )
)

var_dump()函数-显示值和类型

array(5) {
  [0]=>
  string(3) "xyz"
  [1]=>
  bool(false)
  [2]=>
  bool(true)
  [3]=>
  int(100)
  [4]=>
  array(1) {
    [0]=>
    string(2) "50"
  }
}

此答案中使用的功能可以在PHP.net网站var_dump()print_r()

上找到

有关更多详细信息:

»https://stackhowto.com/how-to-display-php-variable-values-with-echo-print_r-and-var_dump/

»https://stackhowto.com/how-to-echo-an-array-in-php/

答案 7 :(得分:2)

人类可读:(例如,可以记录到文本文件..)

print_r( $arr_name , TRUE);

答案 8 :(得分:1)

我知道这是一个老问题,但是如果你想要一个可解析的PHP表示,你可以使用:

$parseablePhpCode = var_export($yourVariable,true);

如果将导出的代码回显到file.php(带有return语句),则可能需要将其作为

$yourVariable = require('file.php');

答案 9 :(得分:0)

我检查了答案,但是,(每个)PHP中的(已弃用)并且不再与最新的php版本一起使用。

通常,我们会将数组转换为字符串以将其记录到某个地方,也许是调试或测试等。

我可以通过以下方式将数组转换为字符串:

  

$ Output =隐含(“,”,$ SourceArray);

位置:

$ output是结果(将在其中生成字符串

“,”:是分隔符(在每个数组字段之间

$ SourceArray:是您的源数组。

我希望这对您有帮助

答案 10 :(得分:-2)

循环并打印关联数组的所有值,您可以使用foreach循环,如下所示:

foreach($results as $x => $value) {
    echo $value;
}