循环多维PHP数组
您好,我很难在PHP多维数组中循环,我想知道循环数组的最佳方法。这是我正在尝试循环的当前数组循环多维PHP数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,您好,我很难在PHP多维数组中循环,我想知道循环数组的最佳方法。这是我正在尝试循环的当前数组 Array ( [bathroom] => Array ( [name] => Bathroom [things] => Array ( [0] => Array (
Array
(
[bathroom] => Array
(
[name] => Bathroom
[things] => Array
(
[0] => Array
(
[name] => Cheval Mirrow
[cubic] => .14
[quantity] => 1
)
[1] => Array
(
[name] => Carton/Wine
[cubic] => .07
[quantity] => 1
)
[2] => Array
(
[name] => Carton/picture
[cubic] => .07
[quantity] => 1
)
)
)
)
我试过这个密码
$keys = array_keys($array);
for($i = 0; $i < count($array); $i++) {
echo $keys[$i] . "<br>";
foreach($array[$keys[$i]] as $key => $value) {
echo $key . " : " . $value . "<br>";
foreach($array[$value[$i]] as $key1 => $value1){
echo $key1.":". $value1."<br>";
}
}
echo "<br>";
}
$keys=array\u keys($array);
对于($i=0;$i”;
foreach($array[$keys[$i]]作为$key=>$value){
回声$key.:“$value.”
“;
foreach($array[$value[$i]]作为$key1=>$value1){
echo$key1.:“$value1.”
“;
}
}
回声“
”;
}
我现在能得到第一个值问题是我不能得到数组中的值,我在这方面出错了,有人能告诉我我在这方面哪里出错了。下面是一个如何处理数组的示例:
foreach ($orginalarray as $key1 => $value1){
foreach ($value1 as $key2 => $value2) {
foreach ($value2 as $key3 => $value3) {
foreach ($value3 as $key3 => $value3) {
}
}
}
}
foreach ($array as $key => $value) {
echo "$key:<br>\n";
echo " name: {$value['name']}<br>\n";
foreach ($value['things'] as $t => $thing) {
echo "\tthing $t:<br>\n";
foreach ($thing as $name => $val) {
echo "\t $name: $val<br>\n";
}
}
}
foreach($key=>$value的数组){
回显“$key:
\n”;
echo“名称:{$value['name']}
\n”;
foreach($value['things']为$t=>$thing){
回显“\t内容$t:
\n”;
foreach($name=>$val){
echo“\t$name:$val
\n”;
}
}
}
输出:
bathroom:<br>
name: Bathroom<br>
thing 0:<br>
name: ChevalMirrow<br>
cubic: 0.14<br>
quantity: 1<br>
thing 1:<br>
name: Carton/Wine<br>
cubic: 0.07<br>
quantity: 1<br>
thing 2:<br>
name: Carton/picture<br>
cubic: 0.07<br>
quantity: 1<br>
浴室:
名称:浴室
事情0:
姓名:ChevalMirrow
立方:0.14
数量:1
事情一:
名称:纸箱/葡萄酒
立方:0.07
数量:1
事情二:
名称:纸箱/图片
立方:0.07
数量:1
以下是一个如何处理阵列的示例:
foreach ($array as $key => $value) {
echo "$key:<br>\n";
echo " name: {$value['name']}<br>\n";
foreach ($value['things'] as $t => $thing) {
echo "\tthing $t:<br>\n";
foreach ($thing as $name => $val) {
echo "\t $name: $val<br>\n";
}
}
}
foreach($key=>$value的数组){
回显“$key:
\n”;
echo“名称:{$value['name']}
\n”;
foreach($value['things']为$t=>$thing){
回显“\t内容$t:
\n”;
foreach($name=>$val){
echo“\t$name:$val
\n”;
}
}
}
输出:
bathroom:<br>
name: Bathroom<br>
thing 0:<br>
name: ChevalMirrow<br>
cubic: 0.14<br>
quantity: 1<br>
thing 1:<br>
name: Carton/Wine<br>
cubic: 0.07<br>
quantity: 1<br>
thing 2:<br>
name: Carton/picture<br>
cubic: 0.07<br>
quantity: 1<br>
浴室:
名称:浴室
事情0:
姓名:ChevalMirrow
立方:0.14
数量:1
事情一:
名称:纸箱/葡萄酒
立方:0.07
数量:1
事情二:
名称:纸箱/图片
立方:0.07
数量:1
可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的可能重复的重复的可能重复的重复的可能重复的重复的可能重复的重复的可能重复的,或者更确切地说,您想要检索什么数据?@Iters如何在循环中回送值?回送$value2或回送打印$value2。我通常在var中收集信息,然后一次将其推送到屏幕上$info.=“新信息”。//继续添加数据,并在末尾添加echo$info$info=“”;我这样做了,在第三次撕裂时,我得到了以下错误警告:在第63行things:Array0:Array1:Array2:Array3:Array4:Array5:Array6:Array7:array中为foreach()提供的参数无效您知道它有多深吗?您可以使用echo print\r($toparryvar);查看您正在处理的完整变量。每一个新的foreach,都应该取上一个值并生成一个新的键和新的值var,不要重用上层的值。如果你这样做,你会打破上面的循环。我会使用简单的foreach($值…我把数组放在我的问题的最上面,这是数组将显示的深度go@Iters如何在循环中回显值?回显$value2或回显打印($value2)。我通常在变量中收集信息,然后一次将其推送到屏幕上。$info.=“新信息。”//继续添加数据和结尾的echo$info;$info=“”;我这样做了,在第三次撕裂时,我收到了以下错误警告:为foreach()提供的参数无效在第63行的/home/fragile/public_html/test/index.php中,things:Array0:Array1:Array2:Array3:Array4:Array5:Array6:Array7:arrayD您知道它有多深吗?您可以使用echo print_r($toparryvar);要查看您正在处理的完整变量。每个新的foreach都应采用以前的值并生成一个新的键和新的值var,不要重用上层的值。如果这样做,您将打破上层循环。我将使用简单的foreach($value…我把数组放在我的问题的最上面这是很深的数组你忘了包括/更新“thing number variable”,否则很好。@Secko谢谢你。我更新了演示中的代码(和链接)但忘了将新代码复制回答案。我现在用新代码更新了答案。您忘了包含/更新“thing number variable”,否则很好。@Secko谢谢您。我在演示中更新了代码(和链接),但忘了将新代码复制回答案。我现在用新代码更新了答案。