嵌套“的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) {
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>";
但它示出了用于学术和个人密钥中,相同的值,其我不完全想要。谢谢你!!
$ value是一个数组,echo只会打印字符串,您需要JSON对您的$ value进行编码并回显或使用var_dump。如果你的预期输出比这更复杂,那么你需要扩展你的问题。
我已经扩展了我的问题,关于我实际想要做什么,请检查! –
好了,它是一个多维数组,所以你需要更多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
)
)
)
现在我使用嵌套的foreach以无序的列表形式打印数组,但是smhow完全错过了这一点。 –
use var_dump($ value);打印数组 –
'$ value'也是一个数组。你不能'echo'一个数组 – RiggsFolly
所以如果我使用* foreach($ stud为$ key => $ value){print_r $ value;} *或* foreach($ stud为$ key => $ value){var_dump $ value ;} *它会工作?对?谢谢你的回应,这是我的第一个被问到的问题,:) –