foreach的使用,高维数组

public function show_list()
    {
        if ($this->is_token()!==1){
            return $this->is_token();
        }
        $index = Db::name($this->tableNameIndex)->select();
        $left = Db::name($this->tableNameleft)->select();

        $result = [];

        foreach ($index as $index1) {
            $id = $index1['id'];//每次循环就给id值给$id
            $indexItem = $index1;//创建数组并存储查到的数据
            $indexItem['child'] = [];//在这个数组插进去index_id这个字段,这里可以得到两个东西,一个是$id[],一个是indexItem['index_id']多了一个空字段的数据

            foreach ($left as $left1) {
                if ($left1['index_id'] == $id) {//if判断left数据字段的index_id是否等于上面传递到的
                    $indexItem['child'] = $left1;//将这个数组查到的一条数据插入这个数组中
                }
            }

            $result[] = $indexItem;
        }

        return json_encode($result);


    }

另一种用法

public function extt(){
        $nestedArray = [
            'name' => 'Alice',
            'age' => 25,
            'address' => [
                'city' => 'New York',
                'country' => 'USA'
            ],
            'hobbies' => ['reading', 'traveling']
        ];

        foreach ($nestedArray as $key => $value) {//$key是前面数组的键,$value是前面数组的值
            if (is_array($value)) {//判断这个值是否是数组
                echo "$key: ";//是的话先打印键
                foreach ($value as $subKey => $subValue) {//再将这个数组的值,相当于又是键值对,其中的键给$subkey,值给$subValue
                    echo "$subKey => $subValue, ";//这里再打印这里的键值对
                }
                echo "\n";//打印换行
            } else {
                echo "$key: $value\n";//打印键值对不是数组形式数据
            }
        }

你可能感兴趣的:(PHP基础,windows,php)