检查给定数组值是否与另一个数组值匹配的最快方法?

时间:2012-03-02 15:20:40

标签: php arrays

我知道这是一个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"];

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望$x中的所有元素都在$y中。结果称为两个数组的交集。见功能array_intersect_assoc。我确信PHP开发人员会尽可能快地实现它。

答案 1 :(得分:0)

使用array_intersect_assoc获取两个数组都存在的值。和/或检查其他交叉命令。

http://www.php.net/manual/en/function.array-intersect-assoc.php