Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 嵌套';foreach&x27;对于多维数组_Php_Html_Multidimensional Array_Foreach_Nested Loops - Fatal编程技术网

Php 嵌套';foreach&x27;对于多维数组

Php 嵌套';foreach&x27;对于多维数组,php,html,multidimensional-array,foreach,nested-loops,Php,Html,Multidimensional Array,Foreach,Nested Loops,使用echo会产生错误, 以前的问题解决了,现在扩展我的问题。 现在我希望这个多维数组使用html标记打印如下 #滚动23# ##学术性 -类别=>5 -秒=>B 个人 -名称=>YXZ -年龄=>12岁 #滚动24# ##学术性 -类别=>6 -秒=>A 个人 -名称=>ABC -年龄=>12岁 --带有HTML标记的嵌套foreach部件-- foreach($studas$key=>$value){ 回音“滚动$key”; 回声“; foreach($r_23作为$key=>$value)

使用echo会产生错误,
以前的问题解决了,现在扩展我的问题。 现在我希望这个多维数组使用html标记打印如下
#滚动23#
##学术性 -类别=>5
-秒=>B
个人
-名称=>YXZ
-年龄=>12岁
#滚动24#
##学术性 -类别=>6
-秒=>A
个人
-名称=>ABC
-年龄=>12岁

--带有HTML标记的嵌套foreach部件--

foreach($studas$key=>$value){
回音“滚动$key”;
回声“;
foreach($r_23作为$key=>$value){
回显“$key”;
回声“
    ”; foreach($p_23作为$key=>$value){ echo“
  • $key=>$value
  • ”;} 回声“
”;} 回声“;

但是它显示的学术密钥和个人密钥的值是相同的,我并不想要。谢谢你!!

这是一个多维数组,所以你需要更多的
foreach()

以下是更新的代码:

foreach ($stud as $key => $value) {
    echo "<h1>Roll $key</h1>";
    echo "<ol>";
    foreach ($r_23 as $key => $value) {
    echo "<h2>$key</h2>";
    echo "<ul>";
    foreach ($p_23 as $key => $value){
    echo "<li>$key => $value</li>";}
    echo "</ul>";}
    echo "</ol>";

$value是一个数组,echo将只打印字符串,您需要对$value进行JSON编码并进行echo,或者使用var_dump。如果您的预期输出比这更复杂,那么您需要扩展您的问题。

使用var_dump($value);要打印数组,
$value
也将是一个数组。如果我使用foreach($stud as$key=>$value){print\r$value;}或foreach($stud as$key=>$value){var\u dump$value;},则不能
回送数组它会起作用的?对吗?谢谢你的回答,这是我第一次问问题:)小纸条你需要嵌套一些foreach循环才能找到真正的数据。@RiggsFolly好吧,谢谢你,我想我已经明白你的意思了:)我已经扩展了我的问题,关于我到底想做什么,请检查!现在我已经使用嵌套foreach打印了数组以无序的列表形式显示,但smhow完全缺少该点。
foreach ($stud as $key => $value) {
    echo "<h1>Roll $key</h1>";
    echo "<ol>";
    foreach ($r_23 as $key => $value) {
    echo "<h2>$key</h2>";
    echo "<ul>";
    foreach ($p_23 as $key => $value){
    echo "<li>$key => $value</li>";}
    echo "</ul>";}
    echo "</ol>";
<?php
$p_23 = array("Name"=>"XYZ","Age"=>"12");
$a_23 = array("Class"=>"5","Sec"=>"A");
$r_23 = array("Personal"=>$p_23,"Academic"=>$a_23);
$p_24 = array("Name"=>"ABC","Age"=>"14");
$a_24 = array("Class"=>"6","Sec"=>"B");
$r_24 = array("Personal"=>$p_24,"Academic"=>$a_24);
$stud = array("23"=>$r_23,"24"=>$r_24);
foreach ($stud as $key => $value) {
    foreach($value as $k => $v){
        foreach($v as $kk => $vv) {
            echo $vv;
        }
    }
}
?>
Array
(
    [23] => Array
        (
            [Personal] => Array
                (
                    [Name] => XYZ
                    [Age] => 12
                )

            [Academic] => Array
                (
                    [Class] => 5
                    [Sec] => A
                )

        )

    [24] => Array
        (
            [Personal] => Array
                (
                    [Name] => ABC
                    [Age] => 14
                )

            [Academic] => Array
                (
                    [Class] => 6
                    [Sec] => B
                )

        )

)