PHP比较两个字符串
示例我得到了一串数字
1 2 2 1 and another is 2 1 2 1
结果是 true,因为它只是 1 2 2 1 和 2 2 1 1 的位置洗牌
但如果该值为
1 2 2 2 and another is 2 1 2 1
结果将返回 false,因为在第一个字符串中,它出现了 3 次 2,无论我们如何打乱 1 2 2 2 位置,它都不会给出 2 1 2 1
另一个可能的例子是
1 2 3 1 and another is 1 2 3 3
结果也会是假的,因为无论我们如何洗牌 1231 都不会得到 1233
我怎样才能进行这种比较,是否有任何 php 函数可以将随机播放字符串与非随机播放字符串进行比较
也许我可以用str_shuffle
并进行数组推送以求唯一,直到获得该字符串的 24 个组合。
$input_string = "1221";
$array_string = ();
while( count($array_string) != 24 )
{
$input_string = str_shuffle($input_string);
array_push($array_string, $input_string);
$array_string = array_unique($array_string);
}
//then lastly i check if compare string is in array
这是正确的方法吗?
编辑:另一个似乎做得更好的建议是将字符串拆分为数组并对其进行排序。我认为这会节省更多的计算能力!
$string1 = "1122";
$string1 = str_split($string1);
sort($string1);
$string2 = "1212";
$string2 = str_split($string2);
sort($string2);
if ($string1 == $string2) {
echo "true";
} else {
echo "false";
}
这是一个返回 true 的示例
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)