繁体   English   中英

数组搜索键=>值

[英]array search for a key=>value

我有一个数组

$arr=(
    [0] => Array
        (
            [groupid] => 1
            [groupname] => Red
            [members] => Array
                (
                    [0] => Array
                        (
                            [mid] => 9
                            [name] => Anith
                        )

                    [1] => Array
                        (
                            [mid] => 11
                            [name] => Aravind
                        )

                    [2] => Array
                        (
                            [mid] => 10
                            [name] => Lekshmi
                        )



                )

        )

    [1] => Array
        (
            [groupid] => 2
            [groupname] => Blue
            [members] => Array
                (
                    [0] => Array
                        (
                            [mid] => 6
                            [name] => Yamuna
                        )

                    [1] => Array
                        (
                            [mid] => 2
                            [name] => Kamala K
                        )

                    [2] => Array
                        (
                            [mid] => 13
                            [name] => Sooraj K
                        )



                )

        )

我想检查[mid] => 2是否在数组中。如果存在,我要删除它(即取消设置数组)-----

[1] => Array
                        (
                            [mid] => 2
                            [name] => Kamala K
                        )
;;;

例如: unset($arr[1]['members'][2];

这应该可以解决问题

foreach ($arr as $group => $subarray) {
    foreach ($subarray['members'] as $k => $v) {
        if ($v['mid'] == 2) {
            unset($arr[$group]['members'][$k]);
            break;
        }
    }
}

var_dump($arr);

如果您想变得狡猾,可以执行以下操作:

// note: requires PHP >= 5.3
foreach ($arr as $key => &$value) {
    $value['members'] = array_filter(
        $value['members'],
        function($member) {
           return $member['mid'] != 2;
        }
    );
}

var_dump($arr);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM