该场景是ajax请求获取json响应,其中包含每个对象中的其他值中的product_id,我已经有一个php变量,其中包含一个产品对象数组(laravel集合),所以我不想再拉这些添加另一个连接到我的查询和减慢速度。
所以我有2个选项,只要我能看到要么写我的手机对象到json对象存储在一个js变量或作为一个关联数组。问题是我能看到访问我需要的数据即产品的唯一方法。Make product.name是通过在数组或对象上运行一个for循环,同时循环通过ajax请求返回的json的每个对象,所以一个嵌套循环是不理想的。
我的问题是,有没有一种方法来拉只是一个给定的键值所需要的对象或数组?如果这不是很清楚,我很抱歉,这是我能解释的最好的方式了。
提前感谢:)
在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)
}
*/