2017-08-17 153 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完全錯過了這一點。 –