多维数组的嵌套 'foreach'
Nested 'foreach' for multidimensional array
<?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 tags
打印如下
#第 23 卷#
##学术##
-Class=>5
-sec=>B
个人
-名称=>YXZ
-年龄=>12
#第 24 卷#
##学术##
-Class=>6
-sec=>A
个人
-姓名=>ABC
-年龄=>12
--用HTML个标签嵌套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>";
但它显示学术密钥和个人密钥的值相同,我并不完全想要这样。感谢你!!
好吧,它是一个多维数组,所以你需要更多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
)
)
)
$value 是一个数组,echo 只会打印字符串,您需要 JSON 编码您的 $value 并回显它或使用 var_dump。如果您的预期输出比这更复杂,那么您需要扩展您的问题。
<?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 tags
打印如下
#第 23 卷#
##学术##
-Class=>5
-sec=>B
个人
-名称=>YXZ
-年龄=>12
#第 24 卷#
##学术##
-Class=>6
-sec=>A
个人
-姓名=>ABC
-年龄=>12
--用HTML个标签嵌套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>";
但它显示学术密钥和个人密钥的值相同,我并不完全想要这样。感谢你!!
好吧,它是一个多维数组,所以你需要更多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
)
)
)
$value 是一个数组,echo 只会打印字符串,您需要 JSON 编码您的 $value 并回显它或使用 var_dump。如果您的预期输出比这更复杂,那么您需要扩展您的问题。