PHP-Smartest多维数组过滤器 [英] PHP-Smartest Multidimensional array filter

查看:58
本文介绍了PHP-Smartest多维数组过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个如下的多维数组

I have a multidimensional array as follows

Array
(
    [0] => Array
        (
            [1] => val01
            [2] => val02
            [3] => 
        )

    [1] => Array
        (
            [1] => val11
            [2] => Array
                (
                    [sub1] => 1
                    [sub2] => 
                    [sub3] => Array
                        (
                            [primarysub1] => 
                            [primarysub2] => pmy2
                        )
                )

            [3] => val3
        )

    [2] => Array
        (
            [1] => val21
            [2] => 
            [3] => val23
        )
)

我需要过滤空值,预期输出如下.

And I need to filter the empty values and expected output is as follow.

Array
(
    [0] => Array
        (
            [1] => val01
            [2] => val02
        )

    [1] => Array
        (
            [1] => val11
            [2] => Array
                (
                    [sub1] => 1
                    [sub3] => Array
                        (
                            [primarysub2] => pmy2
                        )
                )

            [3] => val3
        )

    [2] => Array
        (
            [1] => val21
            [3] => val23
        )
)

有人可以使用PHP的最佳方法帮助我吗?

Could somebody help me out with a best way using PHP?

推荐答案

您必须为此使用递归函数.希望这对您有帮助

You have to use recursive function for this. hope this might help you

<?php
 $rs = unsetValues($arr);

 function unsetValues($a)
 {
    foreach($a as $k=>$v)
    {
       if(is_array($v))
       {
          $arr2[$k] = unsetValues($v);
       } else {
          if($v!="")
          $arr2[$k] = $v;
      }
  }
  return $arr2;
}
?>

这篇关于PHP-Smartest多维数组过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆