如何从数组中返回所有结果?

时间:2016-02-15 13:48:06

标签: php foreach

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 )

我哪里错了?

2 个答案:

答案 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;
  } 
相关问题