有很多关于过滤的主题,但我整天都在谷歌上,无法让它发挥作用。
我有一个数组,通过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子句中将其与其他var进行比较。
我试过这个:
$allowed = array("cat_cross_items_id");
var_dump(array_intersect_key($cat_cross, array_flip($allowed)));
我认为这适用于第一级数组,但我如何过滤第二级?
欲望结果:
$new_arr = array(4,6)
非常感谢!
答案 0 :(得分:1)
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()
中调用外部函数。