PHP中的数组diff实现

时间:2015-06-15 05:17:49

标签: php algorithm

有人知道PHP中的数组diff实现吗?我需要使用它来开发一个类似于stackexchange diffs标签的方法。

2 个答案:

答案 0 :(得分:1)

就像文档说的那样:

  

将array1与一个或多个其他数组进行比较,并返回array1中任何其他数组中不存在的值。

例如:

 $array1 = array("a" => "green", "red", "blue", "red");
 $array2 = array("b" => "green", "yellow", "red");
 $result = array_diff($array1, $array2);

最终只有$result只包含值blue,因为它只在一个数组中。

此处填写完整文档:http://php.net/manual/en/function.array-diff.php

答案 1 :(得分:0)

有array_diff可以比较2个数组的值,并返回一个带有差异值的数组。

$arrayone = array("bacon" => "tasty", "lettuce", "carrot");
$arraytwo = array("ham" => "tasty", "carrot");

$differences = array_diff($arrayone, $arraytwo);
var_dump($differences);
$differences = array_diff($arraytwo, $arrayone);
var_dump($differences);

这将给出:

array (size=1)
  0 => string 'lettuce' (length=7)

array (size=0)
  empty

一个重要的事情是它只将第一个数组与传递的其他数据进行比较。

http://php.net/manual/en/function.array-diff.php