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

Posted

技术标签:

【中文标题】如何在 PHP 中回显或打印数组?【英文标题】:How to echo or print an array in PHP? 【发布时间】:2012-04-06 16:42:22 【问题描述】:

我有这个数组

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>";
 

【问题讨论】:

【参考方案1】:
foreach($results['data'] as $result) 
    echo $result['type'], '<br />';

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

【讨论】:

谢谢你。您能告诉我如何仅回显 Array [1] 的类型吗? 数组 [1] 是什么意思? :o @andreas 我只想回显 COMMUNITY 或 163703342377960。不是数组的全部内容,而是具体 试试echo $results['data'][1]['page_id'];【参考方案2】:

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

【讨论】:

【参考方案3】:

这样就可以了

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

【讨论】:

谢谢你。您能告诉我如何仅回显 Array [1] 的类型吗? @Kaoukkos echo $results['data'][1]['type']; 如果我没有像data这样的密钥怎么办? @PratikButani 使用 var_dump($array) 获取数组内容的更多信息 如何在数据库中插入这些信息?例如,如果我有一个表,其中有一列名为 type 并且我想插入 [0]['type'] 、 [1]['type'] 等等?【参考方案4】:

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

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

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

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

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

【讨论】:

漂亮优雅。您可能希望将 #1 中的结束标记从
 更改为 。
这个答案没有解决 OP 犯的错误。 你能解释一下
 结构是如何让这个显示“很好”的吗?
@Robin
 标签显示由 print_r() 输出的新行和列表;如果没有 
,您会看到杂乱无章的未格式化数据边界。要查看它的格式,您应该查看 html 页面源代码。
【参考方案5】:

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

echo json_encode($anArray);

这会将其显示为非常易于阅读的 JSON。

【讨论】:

我想使用 Cordova InAppBrowser executeScript 方法从 html - php 文档中提取一些数据,没有 json_encode($array) 我无法实现!非常感谢@Mark E echo json_encode($downloads, JSON_PRETTY_PRINT);效果更好【参考方案6】:

你不需要for循环来查看数组中的数据,你可以简单地按照以下方式进行

<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>

【讨论】:

【参考方案7】:

您可以使用print_rvar_dumpvar_export php 函数:

print_r: 转换成人类可读的形式

<?php
echo "<pre>";
 print_r($results); 
echo "</pre>";
?>

var_dump(): 会告诉你东西的类型以及里面有什么。

var_dump($results);

foreach loop:使用 for each 循环,您可以迭代数组的每个值。

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

【讨论】:

如何将结果插入数据库?【参考方案8】:

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

$parseablePhpCode = var_export($yourVariable,true);

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

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

【讨论】:

【参考方案9】:

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

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

【讨论】:

【参考方案10】:

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

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),因此您需要将上述函数包装在 &lt;pre&gt;&lt;/pre&gt; 中,以便以正确的格式显示结果。


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

echo

输出一个或多个字符串。所以如果你想使用echo打印数组内容,你需要循环遍历数组并在循环中使用echo打印数组项。

foreach ($arr as $key=>$item)
    echo "$key => $item <br>";

0 => a 
1 => b 
2 => c 

【讨论】:

【参考方案11】:

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

通常我们会将数组转换为字符串以记录在某处,可能是调试或测试等。

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

$Output = implode(",", $SourceArray);

鉴于:

$output 是结果(生成字符串的地方

",": 是分隔符(每个数组字段之间

$SourceArray: 是你的源数组。

希望对你有帮助

【讨论】:

【参考方案12】:

您可以使用 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/

【讨论】:

【参考方案13】:

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

print_r( $arr_name , TRUE);

【讨论】:

以上是关于如何在 PHP 中回显或打印数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PHP 中回显 HTML?

如何在 PHP 中回显 .html 文件的全部内容?

在php中回显/返回一个数组

如何在 PHP 中回显此 SimpleXMLElement 中的 OK 属性? [复制]

如何在 PHP 中回显 JSON [关闭]

如何在 PHP 中回显可点击的 URL?