如何在PHP中foreach子(复杂)关联数组?

如何在PHP中foreach子(复杂)关联数组?,php,codeigniter,Php,Codeigniter,我刚开始学习PHP,所以我想使用每个子关联数组,但出现了错误。我的代码如下: $data = array( 'WebDevelopment' => array( 'Frontend' => array( 'HTML' =>'Hypertext Markup Langauge' , 'CSS' => 'Cascading style sheet',

我刚开始学习PHP,所以我想使用每个子关联数组,但出现了错误。我的代码如下:

$data = array(
        'WebDevelopment' => array(
            'Frontend' => array(
                'HTML' =>'Hypertext Markup Langauge' , 
                'CSS' => 'Cascading style sheet',
                'Js' => 'Java Script'
                ), 
            'Backend' => array(
                'PHP' => 'Hypertex Preprocessor',
                'Ajax'=> 'Asynchronus Js and Xml' )
            ) 
         );

     foreach ($data as $subject => $course) {
        echo "$subject";
        foreach ($WebDevelopment as $part => $value) {
            echo "$part";
            foreach ($Frontend as $Langauge => $description) {
                echo "$Langauge : $description";
            }
        }
     }
错误:


网络开发!注意:未定义变量:中的WebDevelopment C:\wamp\www\mytest.php第21行调用堆栈时间内存函数 位置10.0006134712{main}..\mytest.php:0!警告: 在上的C:\wamp\www\mytest.php中为foreach提供的参数无效 第21行调用堆栈时间存储器功能位置1 0.0006 134712 {main}..\mytest.php:0


试试这个,效果很好

<?php


    $data = array(
            'WebDevelopment' => array(
                'Frontend' => array(
                    'HTML' =>'Hypertext Markup Langauge' , 
                    'CSS' => 'Cascading style sheet',
                    'Js' => 'Java Script'
                    ), 
                'Backend' => array(
                    'PHP' => 'Hypertex Preprocessor',
                    'Ajax'=> 'Asynchronus Js and Xml' )
                ) 
             );

         foreach ($data as $subject => $course) {
            echo "$subject";
            foreach ($course as $part => $value) {
                echo "$part";
                foreach ($value as $Langauge => $description) {
                    echo "$Langauge : $description";
                }
            }
         }
    ?>

此处使用的是未定义的变量,不能将索引$Frontend和$WebDevelopment用作变量,因为它们都是索引/键:

修改代码:


什么错误?请分享错误请看你的变量名…WebDevelopment!注意:未定义变量:第21行C:\wamp\www\mytest.php中的WebDevelopment调用堆栈时间内存函数位置1 0.0006 134712{main}..\mytest.php:0!警告:在C:\wamp\www\mytest.php的第21行调用堆栈时间内存函数位置1 0.0006 134712{main}..\mytest中为foreach提供的参数无效。php:0u正在使用未定义的变量,这意味着您将获得未定义的变量和无效的参数错误。@DevScripts:很高兴帮助您
foreach ($data as $subject => $course) {
    echo $subject."<br/>"; // this will print ist key
    foreach ($course as $part => $value) {
       echo $part."<br/>";  // this will print inner array'e key
       foreach ($value as $key => $value) {
           echo $key." : ".$value."<br/>";  // this will print inner last array's key and its value.
       }
    }
}
WebDevelopment
Frontend
HTML : Hypertext Markup Langauge
CSS : Cascading style sheet
Js : Java Script
Backend
PHP : Hypertex Preprocessor
Ajax : Asynchronus Js and Xml