该场景是一个ajax请求获取一个json响应,其中包含product_id以及每个对象中的其他值,我已经有一个php变量,其中包含一系列产品对象(laravel collection),所以我不想拉下这些再添加另一个连接到我的查询并减慢速度。
所以我有两个选项,我可以看到将我的手机对象写入存储在js变量中的json对象或作为关联数组。问题是我能看到访问我需要的数据的唯一方法,即product.make product.name是通过在数组或对象上运行for循环,同时循环遍历ajax请求返回的json的每个对象,嵌套循环并非理想。
我的问题是,有没有办法拉出给定键值所需的对象或数组?对不起,如果不是很清楚,这是我解释它的最佳方式。
提前致谢:)
答案 0 :(得分:0)
在PHP中,您可以使用array_intersect_key
和array_flip
来完成此任务:
$map = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4);
$array_of_keys = array('b', 'd');
var_dump(
array_intersect_key( $map, array_flip($array_of_keys) )
);
/*
array(2) {
["b"]=>
int(2)
["d"]=>
int(4)
}
*/