如何在PHP中回显数组?

Ene*_*oma 177 php arrays

我有这个数组

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

      [1] => Array
        (
          [page_id] => 163703342377960
          [type] => COMMUNITY
        )
      )
)
Run Code Online (Sandbox Code Playgroud)

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

foreach ($results as $result) {
    echo $result->type; 
    echo "<br>";
} 
Run Code Online (Sandbox Code Playgroud)

Ibr*_*mar 433

查看可以使用的数组内容.

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

echo '<pre>'; print_r($array); echo '</pre>';
Run Code Online (Sandbox Code Playgroud)

2)用于var_dump($array)获取数组中内容的更多信息,如数据类型和长度.

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

  • 漂亮又优雅。您可能希望将 #1 中的结束标记从 &lt;pre/&gt; 更改为 &lt;/pre&gt;。 (2认同)
  • 你能解释一下<pre> </ pre>构造如何使这个显示"很好吗?" (2认同)

Shi*_*dim 107

这样做

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

  • @Kaoukkos`echo $ results ['data'] [1] ['type'];` (6认同)
  • 如果我没有像“data”这样的键怎么办? (2认同)

Mar*_*k E 89

如果你只是想知道没有格式的内容(例如用于debuging目的),我使用这个:

echo json_encode($anArray);
Run Code Online (Sandbox Code Playgroud)

这将显示为一个非常人性化的JSON.

  • 回声 json_encode($downloads, JSON_PRETTY_PRINT); 效果更好 (2认同)

Moh*_*mad 26

打印阵列内容有多种功能,每种内容都有功能.

print_r()

打印有关变量的人类可读信息.

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


var_dump()

显示有关包含其类型和值的表达式的结构化信息.

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


var_export()

显示有关返回表示的给定变量的结构化信息是有效的PHP代码.

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

请注意,因为浏览器会将多个空白字符(包括换行符)压缩到单个空格(答案),所以您需要将上面的函数包装在一起以<pre></pre>正确的格式显示结果.


还有另一种在某些条件下打印阵列内容的方法.

echo

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

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


Wal*_*ker 20

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


Rez*_*ned 17

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

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


Ank*_*ari 17

<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>
Run Code Online (Sandbox Code Playgroud)

var_dump()将显示事物的类型以及内容.

var_dump($results);
Run Code Online (Sandbox Code Playgroud)

foreach循环

foreach($results['data'] as $result) {
    echo $result['type'].'<br>';
}
Run Code Online (Sandbox Code Playgroud)


小智 8

您无需将循环放入数组中查看数据,您可以按照以下方式进行操作

<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>
Run Code Online (Sandbox Code Playgroud)


tho*_*mas 8

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

示例:假设我们有以下数组,并且我们想要显示其内容。

$arr = array ('xyz', false, true, 99, array('50'));
Run Code Online (Sandbox Code Playgroud)

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

Array
(
    [0] => xyz
    [1] =>
    [2] => 1
    [3] => 99
    [4] => Array
        (
            [0] => 50
        )
)
Run Code Online (Sandbox Code Playgroud)

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

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

此答案中使用的函数可以在 PHP 文档网站var_dump()print_r()上找到。

更多细节:


Aki*_*man 5

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

print_r( $arr_name , TRUE);
Run Code Online (Sandbox Code Playgroud)