如何在以下场景中访问foreach循环中的内部级别数组值?

时间:2014-01-22 06:23:29

标签: php arrays multidimensional-array associative-array arrayaccess

我关注了名为$data的数组:

Array
(
    [op] => edit
    [pt_id] => 4
    [form_submitted] => yes
    [submit] => Update
    [pt_documents_data] => Array
        (
            [0] => Array
                (
                    [pt_doc_title] => Test Document
                    [pt_doc_id] => 6
                    [pt_doc_file_iname] => 
                )

            [1] => Array
                (
                    [pt_doc_title] => New Joining
                    [pt_doc_id] => 7
                    [pt_doc_file_iname] => 
                )

            [2] => Array
                (
                    [pt_doc_title] => Hallo Jolly
                    [pt_doc_id] => 
                    [pt_doc_file_iname] => FAQ.doc
                )

        )

)

现在我想访问子数组[pt_documents_data]下包含的每个数组和元素。我尝试使用foreach打印第一个值,但我无法打印它。不明白我哪里错了。任何人都可以帮我逐个访问内部数组吗?提前致谢。我的尝试如下:

   foreach($data['pt_documents_data'] as $key => $title){
      echo $data[$key]['pt_doc_title']; die;
   }

实际上预计会打印值测试文档,但它不会打印任何内容。以同样的方式,我想访问阵列 [pt_documents_data] 下所有数组中的每个元素。

4 个答案:

答案 0 :(得分:2)

试试这个:

foreach($data['pt_documents_data'] as $key => $title){
  echo $title['pt_doc_title'];

}

答案 1 :(得分:1)

 foreach($data['pt_documents_data'] as $key => $title){
  echo $title['pt_doc_title']."<br />";
   }

答案 2 :(得分:1)

引用$ title而不是$ data:

foreach($data['pt_documents_data'] as $key => $title){
      echo $title['pt_doc_title'];
   }

答案 3 :(得分:0)

foreach($data['pt_documents_data'] as $doc){
  echo $doc['pt_doc_title'];
}