以$key=>;的形式循环子阵列$PHP中的值

以$key=>;的形式循环子阵列$PHP中的值,php,arrays,loops,multidimensional-array,iteration,Php,Arrays,Loops,Multidimensional Array,Iteration,鉴于此数据结构: array(2) { [0] array(7) { ["model_id"] 218 ["total"] 10 ["brand"] "This Brand" ["model_name"] "This Name" ["picture"] "this pic.jpg" ["color"] "Black" ["sizes"] array(3) {

鉴于此数据结构

    array(2) {
    [0] array(7) {
        ["model_id"] 218
        ["total"] 10
        ["brand"] "This Brand"
        ["model_name"] "This Name"
        ["picture"] "this pic.jpg"
        ["color"] "Black"
        ["sizes"] array(3) {
            ["4"] "10 %"
            ["5"] "80 %"
            ["6"] "10 %"
        }
    }
    [1] array(7) {
        ["model_id"] 219
        ["total"] 10
        ["brand"] "This Brand"
        ["model_name"] "ThatName"
        ["picture"] "that pic.jpg"
        ["color"] "Black"
        ["sizes"] array(3) {
            ["4"] "20 %"
            ["5"] "50 %"
            ["6"] "30 %"
        }
    }
}
如何将大小循环为
$key=>$value

到目前为止,我尝试的方法都不起作用,比如嵌套循环

foreach($array as $i){

            foreach($i as $z){

                foreach($z as $key => $value){

                    print_r($key);

                }  
            }
        }
    }
导致错误
为foreach()提供的参数无效

$arrayas = json_decode($array);
foreach($arrayas $i){

        foreach($i as $z){

            foreach($z as $key => $value){

                print_r($key);

            }  
        }
    }
}
试试这个

试试这个

请试试这个

$decarray = json_decode($array);

foreach($decarray as $keyDec => $valArr ){
    foreach($valArr as $keyOuter => $valOuter){
        if($keyOuter == "sizes"){
            foreach($valOuter as $keyInner => $valInner){
                echo $keyInner.":".$valInner ''
            }  
        }
    }
}
请试试这个

$decarray = json_decode($array);

foreach($decarray as $keyDec => $valArr ){
    foreach($valArr as $keyOuter => $valOuter){
        if($keyOuter == "sizes"){
            foreach($valOuter as $keyInner => $valInner){
                echo $keyInner.":".$valInner ''
            }  
        }
    }
}

您的数据结构是JSON,而不是PHP数组。你知道吗?您要寻找的是对函数的递归调用:只要函数想在数组中更深一层,它就会调用自己。它看起来像是json数据。首先,您必须使用json_decode函数对该值进行解码。将
foreach($i as$z)
更改为
foreach($i['size']as$kye=>$value)
并删除下一个foreach。我认为您还有一个额外的功能,您的数据结构是JSON,而不是PHP数组。你知道吗?您要寻找的是对函数的递归调用:只要函数想在数组中更深一层,它就会调用自己。它看起来像是json数据。首先,您必须使用json_decode函数对该值进行解码。将
foreach($i as$z)
更改为
foreach($i['size']as$kye=>$value)
并删除下一个foreach。我想你还有一个额外的理由,这个答案缺少教育意义上的解释,这个答案缺少教育意义上的解释。