doulingna9420 2018-01-30 11:18
浏览 47
已采纳

检查数组是否有一个或多个空键而不是删除父数组

I have an multidimensional array (key - value), and some values are not set, empty in this case, if so the parent array must be removed from the main array.

The code that I have build only removes the empty key.

In my example the IT & ES language translation keys are empty so we need to removed this parent array.

$results = $arr =array(
    [16] => Array
        (
            [0] => Array
                (
                    [language] => de
                    [translation] => blog/beer
                )

            [1] => Array
                (
                    [language] => en
                    [translation] => blog/some-slug-yeah
                )

            [2] => Array
                (
                    [language] => es
                    [translation] => 
                )

            [3] => Array
                (
                    [language] => fr
                    [translation] => blog/paris-big-city
                )

            [4] => Array
                (
                    [language] => it
                    [translation] =>
                )

            [5] => Array
                (
                    [language] => nl
                    [translation] => blog/nederlands-slug
                )

        )

        [...]//more
)

Function to remove keys.

        function array_filter_recursive($input){
            foreach ($input as &$value){
                if (is_array($value)){
                    $value = array_filter_recursive($value);
                }
            }
            return array_filter($input);
        }

        $results  = array_filter_recursive( $results );
  • 写回答

2条回答 默认 最新

  • dousi1994 2018-01-30 11:41
    关注

    If the array always has 2 levels, you don't need recursion.

     function array_filter_recursive($input){
            foreach ($input as &$value){
                $value = array_filter($value, function($x) { return !empty($x['translation']); });
            }
            return $input;
        }
    

    demo

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来