根据条件从数组中删除子数组

我想基于其元素从数组中删除子数组,例如,如果它包含键的值"TOTO"(在变量中)"ppd name"


我的数组是:


Array

(

    [1] => Array

        (

            [id] => R419FD00Customers1556106426

            [main] => Array

                (

                    [release] => R419

                    [delivery] => FD00

                    [upgrade Type] => Customers

                    [upgrade date] => 2019-04-11

                )


        )


    [2] => Array

        (

            [id] => R422Beta1internal1556107476

            [main] => Array

                (

                    [release] => R422

                    [delivery] => Beta1

                    [upgrade Type] => internal

                    [upgrade date] => 2019-04-10

                )


            [0] => Array

                (

                    [ppd name] => TOTO

                    [start clone] => 2019-04-24

                    [ppd delivery] => 2019-04-18

                    [target evenement] => lastBuild

                    [target date] => 2019-04-18

                )


            [1] => Array

                (

                    [ppd name] => TITI

                    [start clone] => 2019-04-05

                    [ppd delivery] => 2019-04-05

                    [target evenement] => lastBuild

                    [target date] => 2019-04-04

                )


        )


    [6] => Array

        (

            [id] => R420FD03Customers1556110346

            [main] => Array

                (

                    [release] => R420

                    [delivery] => FD03

                    [upgrade Type] => Customers

                    [upgrade date] => 2019-04-24

                )


        )


)

我试过了


foreach ($arr_data as $Array) {

    foreach($Array as $subKey => $subArray) {

        if ($subArray['ppd name'] == 'TOTO') {

            unset($arr_data[$subKey]);

        }

    }

}


呼唤远方
浏览 168回答 1
1回答

慕容森

您可以使用array_walk,foreach以去除所需元素$search = 'TOTO';array_walk($arr, function($value, $key) use (&$arr, $search){    foreach($value as $k => $v){        if(isset($v['ppd name']) && $v['ppd name'] == $search){            unset($arr[$key][$k]);        }    }});
打开App,查看更多内容
随时随地看视频慕课网APP