разница между двумя строками - PullRequest
1 голос
/ 14 марта 2012
$first = 1,2,3,4,5;
$second = 1,3,5,6;

Мне нужно получить разницу между этими двумя значениями, чтобы результат был следующим:
$result = 2,4,6;

Ответы [ 3 ]

3 голосов
/ 14 марта 2012

Если вы имеете в виду

$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);
2 голосов
/ 14 марта 2012

попробуйте это:

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)));
0 голосов
/ 14 марта 2012

Во-первых, я предполагаю, что ваши строки правильно указаны в виде строк:

$first = "1,2,3,4,5";
$second = "1,3,5,6";
$diff_string = array_diff(explode(",", $first), explode(",", $second));
$diff_array = implode(",", $diff_string);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...