使用此数组在PHP中映射数组

I have array as follows,

$arr['fixed_key'][0]['key1']['key2'] = 'y';
$arr['fixed_key'][1]['key1']['key2'] = 'y';
$arr['fixed_key'][2]['key1']['key2'] = 'n';
$arr['fixed_key'][3]['key1']['key2'] = 'n';

I want to remove all arrays which have key2='n', I can traverse through array in a loop and achieve this, as follows:

$l=length($arr);
for($i=0;$i<$l;$i++) {

    if($arr['fixed_key'][$i]['key1']['key2'] == 'n') {

        unset($arr['fixed_key'][$i]['key1']['key2']);

    }

}

My question is, is it possible to do this in better way, like array_map or array_walk, what is the best possible way?

You can use array_filter

$arr['fixed_key'][0]['key1']['key2'] = 'y';
$arr['fixed_key'][1]['key1']['key2'] = 'y';
$arr['fixed_key'][2]['key1']['key2'] = 'n';
$arr['fixed_key'][3]['key1']['key2'] = 'n';

$filtered = array_filter($arr['fixed_key'], function ($val) { return $val['key1']['key2']  !== "n"; });

We can achive by using array_search() and unset, try the following:

if(($key = array_search($del_value, $arr)) !== false) {
        unset($arr[$key]);
 }