Как сравнить две строки без разделения на разделители - PullRequest
1 голос
/ 12 ноября 2011

Допустим, у меня есть:

$a = "5,8,0";
$b = "8,0,5";

Как их сравнивать, когда обычное сравнение не удастся, разделитель запятых всегда будет там, но порядок элементов (которые id s продуктов, поэтому они всегда целые) не должен быть одинаковым (заказ).

Есть идеи о том, как это сделать в PHP?

Ответы [ 2 ]

5 голосов
/ 12 ноября 2011

Разделите их на отдельные массивы, а затем сравните два массива.

$a = "5,8,0";
$b = "8,0,5";

$array_a = explode($a, ",");
$array_b = explode($b, ",");

if (count(array_diff($array_a, $array_b))===0)
    echo "The two strings contain the same values.";
else
    echo "The two strings do NOT contain the same values.";
1 голос
/ 12 ноября 2011

Преобразуйте строки в массивы с помощью разнесения, используйте результат array_intersect, чтобы определить, равны ли они?
http://php.net/manual/en/function.explode.php
http://php.net/manual/en/function.array-intersect.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...