繁体   English   中英

array_filter多维数组

[英]array_filter multidimensial array

在我的Laravel网站中,我有这个数组:

    array:2 [▼
  0 => array:3 [▼
    "title" => "asdf"
    "desc" => ""
    "date" => ""
  ]
  1 => array:3 [▼
    "title" => ""
    "desc" => ""
    "date" => ""
  ]
]

我想过滤掉我的数组中的空数组。 干脆做

$array = array_filter(request()->exp);

什么也没做...

人们建议:

$array = array_filter(array_map('array_filter', request()->exp));

但结果是:

array:1 [▼
  0 => array:1 [▼
    "title" => "asdf"
  ]
]

我需要那些其他值,即使它们是空的,或者我的下一页不会工作。

我该如何解决这个问题?

最终必须出来:

array:2 [▼
  0 => array:3 [▼
    "title" => "asdf"
    "desc" => ""
    "date" => ""
  ]

它只需要删除一个顶部数组中的空数组。

据我了解你的问题,这可能会有所帮助:

$newArr = array();
foreach($arr as $key=>$val){
    $val1 = array_filter($val);
    if(!empty($val1)){
        $newArr[$key] = $val; // or $newArr[] = $val; if don't want to keep index
    }
}
var_dump($newArr);

暂无
暂无

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

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