有很多关于过滤的线程,但我整天都在谷歌,不能让这个工作。
我有一个数组,是通过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()
中循环或调用外部函数。