我有这个数组

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

当前回答

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

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

其他回答

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

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

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

print_r($arr_name, TRUE);

这样就行了

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

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

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

print_r(数组)美元;或者如果你想要格式化好的数组,那么: 回声的< >前';print_r(数组)美元;回声的< / >之前; 使用var_dump($array)获取数组中内容的更多信息,如数据类型和长度。 你可以使用php的foreach()循环数组;并得到期望的输出。有关foreach的更多信息,请参阅PHP的文档网站:foreach