Php 使用数组\过滤器删除空的子数组值

Php 使用数组\过滤器删除空的子数组值,php,arrays,array-filter,Php,Arrays,Array Filter,我将带有子数组值数据的数组添加到mysql数据库中,如下所示: {"2":[ {"title":"english title","link":"english url"}, {"title":"","link":""}], "1":[ {"title":"french

我将带有子数组值数据的数组添加到
mysql
数据库中,如下所示:

{"2":[
{"title":"english title","link":"english url"},
{"title":"","link":""}],
"1":[
{"title":"french title","link":"french url"},
{"title":"","link":""}]}
var_dump(array_filter(array_map('array_filter', $links)));
我尝试使用
array\u filter
array\u map
删除
empty
子数组值,如下所示:

{"2":[
{"title":"english title","link":"english url"},
{"title":"","link":""}],
"1":[
{"title":"french title","link":"french url"},
{"title":"","link":""}]}
var_dump(array_filter(array_map('array_filter', $links)));
现在,当我使用
var\u dump
检查时,我看到了这个结果,
array\u filter
array\u map
无法删除空值:

array(2) {
  [2]=>
  array(3) {
    [0]=>
    array(2) {
      ["title"]=>
      string(13) "english title"
      ["link"]=>
      string(11) "english url"
    }
    [1]=>
    array(2) {
      ["title"]=>
      string(0) ""
      ["link"]=>
      string(0) ""
    }
  }
  [1]=>
  array(3) {
    [0]=>
    array(2) {
      ["title"]=>
      string(12) "french title"
      ["link"]=>
      string(10) "french url"
    }
    [1]=>
    array(2) {
      ["title"]=>
      string(0) ""
      ["link"]=>
      string(0) ""
    }
  }
}
在操作中,如何删除
空的
子数组值

更新:我需要更新此结果:

Array
(
    [2] => Array
        (
            [0] => Array
                (
                    [title] => english title
                    [link] => english url
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [title] => french title
                    [link] => french url
                )
        )

)

您的问题是,您尝试筛选的项目不是空的(
empty($links[2][1])==false
),它们是一个两元素数组,因此
array\u filter
不会删除它们。相反,您需要检查这两个元素是否都为空。例如,使用:

输出:

Array
(
    [2] => Array
        (
            [0] => Array
                (
                    [title] => english title
                    [link] => english url
                )
        )
    [1] => Array
        (
            [0] => Array
                (
                    [title] => french title
                    [link] => french url
                )
        )
)

您期望的输出是什么?如果您认为JSON解码产生的对象或数组
{“title”:“,“link”:“}
会被PHP认为是“空的”…那么您错了。@Nick:我需要像这样从数组中删除空值:
数组([2]=>array([0]=>array([title]=>english title[link]=>english url))[1]=>数组([0]=>数组([title]=>法语标题[link]=>法语url))