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

我有这个数组

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>";
}
1227085 次浏览
foreach($results['data'] as $result) {
echo $result['type'], '<br />';
}

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

尝试使用print_r以人类可读的形式打印它。

这样就行了

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

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

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

     echo '<pre>'; print_r($array); echo '</pre>';
    
  2. 使用var_dump($array)获取数组内容的更多信息,如数据类型和长度。

  3. 你可以使用php的foreach();循环数组并获得所需的输出。有关foreach的更多信息,请参阅PHP的文档网站:foreach

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

echo json_encode($anArray);

这将显示为一个JSON,这是人类可读的。

你不需要使用循环来查看数组中的数据。你可以简单地用以下方法来做:

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

你可以使用PHP的print_rvar_dumpvar_export函数:

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

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

var_dump():将显示对象的类型以及其中的内容。

var_dump($results);

foreach loop:使用为每一个循环,可以迭代数组的每一个值。

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

如果你想要一个可解析的PHP表示,你可以使用:

$parseablePhpCode = var_export($yourVariable,true);

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

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

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

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

有多个用于打印数组内容的函数,每个函数都有自己的特性。

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',
)

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


此外,还有另一种方法可以在特定条件下打印数组内容。

echo

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

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

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

通常,我们会将一个数组转换成一个字符串来记录在某个地方,可能是调试、测试等。

我将把数组转换成一个字符串,这样做:

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

而:

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

&;,":是分隔符(在每个数组字段之间)。

$SourceArray:你的源数组。

你可以使用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文档网站上找到,var_dump ()print_r ()

详情如下:

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

print_r($arr_name, TRUE);

如果你只需要回显'type'字段,你可以像这样使用函数'array_column':

$arr = $your_array;
echo var_dump(array_column($arr['data'], 'type'));