我知道这是一个0(n)关系,我们需要检查数据的每一行是否有成员资格,但检查的最快方法是什么?
$x = [["id" =>61, "name" => "jill"],["id" =>1, "name" => "john"],];
$y = [["id" =>89, "state" => "drunk"],["id" =>61, "state" => "sleep"]];
$z = array_values_collide($x, $y, "id");
其中z应返回:
$z = [["id" =>61, "name" => "jill", state => "sleep"];
答案 0 :(得分:1)
如果我理解正确,您希望$x
中的所有元素都在$y
中。结果称为两个数组的交集。见功能array_intersect_assoc。我确信PHP开发人员会尽可能快地实现它。
答案 1 :(得分:0)
使用array_intersect_assoc获取两个数组都存在的值。和/或检查其他交叉命令。
http://www.php.net/manual/en/function.array-intersect-assoc.php