如何打印嵌套数组在php



这段代码需要帮助

foreach ($summary as $key => $value) 
{
if ($key === "Incs") {
foreach ($value as $subkey => $subvalue) {
foreach ($subvalue as $subsubkey => $subsubvalue) {
echo "$subsubkey:n";
foreach ($subsubvalue as $subsubsubkey => $subsubsubvalue) {
echo $subsubsubvalue;
}
}
}
} else {
echo "$key: $valuen";
}
}

通过打印子数组echo $subsubsubvalue;的值来工作,但我想使用键来访问每个值,如echo $subsubsubvalue[$subsubsubkey];,这似乎会产生错误。有可能实现这一点吗?

foreach ($summary as $key => $value) 
{
if ($key === "Incs") {
foreach ($value as $subkey => $subvalue) {
foreach ($subvalue as $subsubkey => $subsubvalue) {
echo "$subsubkey:n";
foreach ($subsubvalue as $subsubsubkey => $subsubsubvalue) {
echo  $subsubsubvalue[$subsubsubkey];
}
}
}
} else {
echo "$key: $valuen";
}
}

这是我要打印的数组

array(8) {["Eid"]=>字符串(6)"891551";("Tr1" =比;字符串(1)"2";("Tr2" =比;字符串(1)"0";("Trh1" =比;字符串(1)"2";("Trh2" =比;字符串(1)"0";("Tr1OR" =比;字符串(1)"0";("Tr2OR" =比;字符串(1)"0";("Incs" =比;数组(1){[1]=>数组(2){[0]=>array(12) {["Min"]=>int(24)("Nm" =比;int(1)("Aid" =比;字符串(5)"57092";("ID" =比;字符串(5)"57092";("Fn" =比;字符串(7)"Si-heon"("Ln" =比;字符串(3)"Lee"("Pnum" =比;int(0)("Pn" =比;string(11) &;李世宪&;("PnumO" =比;int(0)("你)=比;int(36)("Sc" =比;数组(2){[0]=>int(1)[1] =比;int(0)} ["Sor"]=>Int (3)} [1]=>array(9) {["Min"]=>int(32)("Nm" =比;int(1)("ID" =比;字符串(7)"1067481";("Pnum" =比;int(0)("Pn" =比;string(13) "李东烈"("PnumO" =比;int(0)("你)=比;int(36)("Sc" =比;数组(2){[0]=>int(2)[1] =比;int(0)} ["Sor"]=>Int (5)}}}}

我想在表格中显示它们时间|球员|事件

36"。Debryne。目标45’。武术。黄牌

当您已经循环遍历最内层数组的值时,似乎您正在尝试使用键访问值。为了达到您想要的效果,您应该在最内层循环中直接回显键和值。您不需要再次使用该键来访问该值,因为在$subsubsubvalue中已经有了该值。

也可以使用$ssk和$ssv作为缩写名。推荐使用递归函数并在第一个foreach

之后调用它
function rPrintNestedArray($array, $indent = 0) {
foreach ($array as $key => $value) {
if (is_array($value)) {
echo str_repeat(" ", $indent * 4) . "$key:n";
rPrintNestedArray($value, $indent + 1);
} else {
echo str_repeat(" ", $indent * 4) . "$key: $valuen";
}
}
}

你的代码应该看起来像。

foreach ($summary as $key => $value) 
{
if ($key === "Incs") {
foreach ($value as $subkey => $subvalue) {
foreach ($subvalue as $subsubkey => $subsubvalue) {
echo "$subsubkey:n";
foreach ($subsubvalue as $subsubsubkey => $subsubsubvalue) {
echo "$subsubsubkey: $subsubsubvaluen";
}
}
}
} else {
echo "$key: $valuen";
}
}

最新更新