字符串比较,与PHP顺序无关

Jos*_*ero 2 php arrays string laravel

我想知道是否有一种方法可以通过某些PHP方法进行比较,并验证两个链(无论顺序如何)相同,

例如:

     $string1 = "Pedro Perez";
     $string2 = "Perez Pedro";

所以我的问题是如何TRUE比较一下。显然,您的订单与众不同。


我问这个问题是因为我正在开发一个搜索,并且只要字符串具有相同的单词,无论它们的顺序如何,我都希望比较$string1$string2作为相同的值。

Rah*_*hul 6

您将其按空间爆炸,并按如下所示将两个数组相交并检查其数量

$string1 = "Pedro Perez";
$string2 = "Perez Pedro";
$s1 = array_unique(explode(" ", $string1));
$s2 = array_unique(explode(" ", $string2));
$temp = array_intersect($s1, $s2);
var_dump(count($temp) == count($s1) && count($temp) == count($s2));
Run Code Online (Sandbox Code Playgroud)

编辑

以上是两个以上的片段,

$string1 = "Perez Perez Pedro";
$string2 = "Perez Pedro Perez";
list($s1,$s2) = [explode(" ", $string1), explode(" ", $string2)];
sort($s1);sort($s2);
var_dump($s1 === $s2);
Run Code Online (Sandbox Code Playgroud)

工作演示

  • 很棒的方法。 (2认同)