我有一个多维数组,我试图找出如何简单地“回显”数组的元素。数组的深度未知,因此可以深度嵌套。
对于下面的数组,回显的正确顺序是:
This is a parent comment
This is a child comment
This is the 2nd child comment
This is another parent comment
这是我正在谈论的数组:
Array
(
[0] => Array
(
[comment_id] => 1
[comment_content] => This is a parent comment
[child] => Array
(
[0] => Array
(
[comment_id] => 3
[comment_content] => This is a child comment
[child] => Array
(
[0] => Array
(
[comment_id] => 4
[comment_content] => This is the 2nd child comment
[child] => Array
(
)
)
)
)
)
)
[1] => Array
(
[comment_id] => 2
[comment_content] => This is another parent comment
[child] => Array
(
)
)
)
答案 0 :(得分:29)
<pre>
<?php print_r ($array); ?>
</pre>
答案 1 :(得分:14)
看起来你只是想从每个数组中写一个重要的值。尝试像这样的递归函数:
function RecursiveWrite($array) {
foreach ($array as $vals) {
echo $vals['comment_content'] . "\n";
RecursiveWrite($vals['child']);
}
}
您还可以使它更具动态性,并将'comment_content'
和'child'
字符串作为参数传递给函数(并在递归调用中继续传递它们)。
答案 2 :(得分:5)
正确,更好,更清洁的解决方案:
traverseArray($array)
您只需在当前/主要类中调用此辅助函数$this->traverseArray($dataArray); // Or
// traverseArray($dataArray);
,如下所示:
console.log(req.user);
来源:http://snipplr.com/view/10200/recursively-traverse-a-multidimensional-array/
答案 3 :(得分:2)
print_r($arr)
通常会给出非常可读的结果。
答案 4 :(得分:2)
如果您想将其存储为您可以执行的变量:
recurse_array($values){
$content = '';
if( is_array($values) ){
foreach($values as $key => $value){
if( is_array($value) ){
$content.="$key<br />".recurse_array($value);
}else{
$content.="$key = $value<br />";
}
}
}
return $content;
}
$array_text = recurse_array($array);
显然你可以根据需要进行格式化!
答案 5 :(得分:0)
尝试使用var_dump功能。
答案 6 :(得分:0)
如果您要输出数据以进行调试和开发,Krumo非常适合生成易读的输出。查看example output。
答案 7 :(得分:0)
递归通常是你的答案,但另一种方法是使用引用。见http://www.ideashower.com/our_solutions/create-a-parent-child-array-structure-in-one-pass/
答案 8 :(得分:0)
有多种方法
1) - print_r($array);
或者如果你想要格式良好的数组那么
echo '<pre>'; print_r($array); echo '<pre/>';
// --------------------------------------------- ----
2) - 使用var_dump($array)
获取数组内容的更多信息,如数据类型和长度。
// ------------------------------------------------ -
3) - 你可以使用php&#39; s foreach();
循环数组并获得所需的输出。
function recursiveFunction($array) {
foreach ($array as $val) {
echo $val['comment_content'] . "\n";
recursiveFunction($vals['child']);
}
}