Array ( [edit] => true [id] => 1 [type] => Array ( [0] => LC ) [userid] => 1 [norooms] => 1 [park] => Central [start] => 09:00 [end] => 11:00 [length] => 2 [student] => 79 [status] => Rejected )
<?php
$posted_data = array();
if (!empty($_POST['edit'])) {
$posted_data = json_decode($_POST['editVal'], true);
}
print_r ($posted_data);
foreach ($posted_data as $key => $value) {
echo '<p>'.$key.'</p>';
echo '<p>'.$value.'</p>';
}
?>
顶部的数组是返回的jason_decode
。但是使用我的foreach
函数,它不会显示数组中数组的第一个索引。即。 ( [0] => LC )
。
我哪里错了?
答案 0 :(得分:3)
您需要构建一个递归函数,例如:
function print_recursively(array $array)
{
foreach ($array as $key => $value)
{
if(is_array($value))
{
print_recursively($value);
}
else
{
echo '<p>'.$key.'</p>';
echo '<p>'.$value.'</p>';
}
}
}
根据您的需要调整它。
答案 1 :(得分:2)
如果您知道只有一个级别的数组层次结构
继续打印值,如果值是使用is_array
的数组..再次迭代。
foreach($dataArray as $key =>$value){
if(is_array($value)){
foreach($value as $array2Data){
echo $array2Data; //you can use keys as well
}
}
else
echo $value;
}