我在工作中多次遇到这种情况,需要从数组中获取具有特定键的子数组。今天我想让它有更好的表现,所以我的问题是哪个是更好的选择:
示例选项 1:
$where_requires = array('group_id', 'name');
$item = array('group_id' => 2, 'name' => 'Bob', 'age' => 37);
$where = array_diff_key($item, array_diff_key($item, array_fill_keys($where_requires, '')));
示例选项 2
$where = array();
foreach($where_requires as $require){
$where[$require] = $item[$require];
}
请记住,$where 和 $where_require 都是一个大数组,大约有数百个元素。我的机器上的时间成本没有明显的区别,你能给我一些建议吗?更好地解释为什么。感谢所有注意到我的问题的人。