如何过滤这个多维数组?

Asi*_*bal 5 php

这是我的输入数组:

输入:

$input["a"]["b"]["UK"] = 96 ;
$input["a"]["c"]["UK"] = 69 ;
$input["a"]["bp"]["USA"] = 29 ;
$input["a"]["c"]["USA"] = 59 ;
$input["a"]["dd"]["UK"] = 31 ;
$input["a"]["cg"]["UK"] = 38 ;
Run Code Online (Sandbox Code Playgroud)

我想得到一个只包含["USA"]的新数组.所以输出必须是..............

输出:

$output["a"]["bp"]["USA"] = 29 ;
$output["a"]["c"]["USA"] = 59 ;
Run Code Online (Sandbox Code Playgroud)

可能吗 ?

小智 5

这会奏效.

$input["a"]["b"]["UK"]   = 96 ;    
$input["a"]["c"]["UK"]   = 69 ;
$input["a"]["bp"]["USA"] = 29 ;
$input["a"]["c"]["USA"]  = 59 ;
$input["a"]["dd"]["UK"]  = 31 ;
$input["a"]["cg"]["UK"]  = 38 ;
$tempResult = array();

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

    foreach($value as $subkey => $subvalue){

        foreach($subvalue as $finalkey => $finalvalue){

            if($finalkey == 'USA') {

                $tempResult[$key][$subkey][$finalkey] = $finalvalue;
            }
        }
    }
}

echo '<pre>';print_r($tempResult);echo '</pre>';
Run Code Online (Sandbox Code Playgroud)