二级过滤多维数组



有很多关于过滤的线程,但我整天都在谷歌,不能让这个工作。

我有一个数组,是通过mysqli查询创建的。

$cat_cross =
    array(2)
      { [0]=> array(3)
          { ["cat_cross_id"]=> string(2) "24" 
            ["cat_cross_items_id"]=> string(1) "4" 
            ["cat_cross_user_id"]=> string(2) "58" 
          } 
        [1]=> array(3)
          { ["cat_cross_id"]=> string(2) "25" 
            ["cat_cross_items_id"]=> string(1) "6" 
            ["cat_cross_user_id"]=> string(2) "58" 
          }
      }

现在我想得到一个查询只有"cat_cross_items_id"的值,因为我需要这个以后比较它在一个if-子句与其他变量。

我试了这个:

$allowed = array("cat_cross_items_id");
var_dump(array_intersect_key($cat_cross, array_flip($allowed)));

我认为这适用于数组的第一层,但我如何过滤第二层?

欲望的结果:

$new_arr = array(4,6)

非常感谢!

PHP>= 5.5.0:

$new_arr = array_column($cat_cross, "cat_cross_items_id");

PHP>= 5.3.0:

$new_arr = array_map(function($v) { return $v["cat_cross_items_id"]; }, $cat_cross);

早期版本需要在array_map()中循环或调用外部函数。

相关内容

  • 没有找到相关文章

最新更新