【发布时间】:2012-03-13 22:03:48
【问题描述】:
$first = 1,2,3,4,5;
$second = 1,3,5,6;
我需要得到这两者的差异,这样结果就会像:$result = 2,4,6;
【问题讨论】:
$first = 1,2,3,4,5;
$second = 1,3,5,6;
我需要得到这两者的差异,这样结果就会像:$result = 2,4,6;
【问题讨论】:
假设你的意思
$first = "1,2,3,4,5";
$second = "1,3,5,6";
那就试试
$first_array = explode(",", $first);
$second_array = explode(",", $second);
$result_array = array_merge(array_diff($first_array, $second_array), array_diff($second_array, $first_array));
$result = implode("," $result_array);
【讨论】:
试试这个:
implode(',',array_diff(explode(',',$first),explode(',',$second)));
编辑:
更新到完全差异(在 PHP.net 上找到并修改):
$first = explode(',', $first);
$second = explode(',', $second);
echo implode(',',array_diff(array_merge($first, $second), array_intersect($first, $second)));
【讨论】:
array_diff 不会返回 6 我不认为
array_diff 比较 array1 和 array2 并返回差异 - 必须合并两种方式。检查我的答案
首先,我假设您的字符串被正确引用为字符串:
$first = "1,2,3,4,5";
$second = "1,3,5,6";
$diff_string = array_diff(explode(",", $first), explode(",", $second));
$diff_array = implode(",", $diff_string);
【讨论】: