2017-08-17 151 views
0
<?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) { 
    echo $value; 
} 
?> 

使用echo是给错误,
以前的问题解决了,现在正在扩大我的问题。 现在我想此多维阵列来打印像下面利用html标签
#Roll 23#
##学术##
-Class => 5
-sec =>乙
个人
-Name = > YXZ
- 年龄=> 12
#Roll 24#
##学术##
-Class => 6
-sec =>甲
个人
-Name => ABC
- 年龄=> 12嵌套“的foreach”多维数组

与HTML --nested的foreach部分tags--

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

但它示出了用于学术和个人密钥中,相同的值,其我不完全想要。谢谢你!!

+0

use var_dump($ value);打印数组 –

+1

'$ value'也是一个数组。你不能'echo'一个数组 – RiggsFolly

+0

所以如果我使用* foreach($ stud为$ key => $ value){print_r $ value;} *或* foreach($ stud为$ key => $ value){var_dump $ value ;} *它会工作?对?谢谢你的回应,这是我的第一个被问到的问题,:) –

回答

0

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

+0

我已经扩展了我的问题,关于我实际想要做什么,请检查! –

-1

好了,它是一个多维数组,所以你需要更多foreach()

下面是更新后的代码:

<?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 
       ) 

     ) 

) 
+0

现在我使用嵌套的foreach以无序的列表形式打印数组,但是smhow完全错过了这一点。 –