要比较两个字符串在哪里出现第一个不同字符,可以使用PHP预定义函数 strcmp()
。
strcmp()
函数用于比较两个字符串,字符串可以是变量或者常量,返回值不同表示找到的第一个不同字符的位置也不同。如果相等,则返回 0。
下面是一个使用 strcmp()
比较两个字符串并查找第一个不同字符位置的例子:
$str1 = "Hello World!";
$str2 = "Hello, world!";
$diff_pos = -1;
for ($i = 0; $i < strlen($str1) && $i < strlen($str2); $i++) {
if (strcmp($str1[$i], $str2[$i]) !== 0) {
$diff_pos = $i;
break;
}
}
if ($diff_pos === -1) {
echo "The two strings are identical";
} else {
echo "The first different character is at position {$diff_pos}: '{$str1[$diff_pos]}' vs '{$str2[$diff_pos]}'";
}
以上代码使用一个 for 循环比较两个字符串中的字符,直到找到第一个不同的字符。如果没有不同的字符,则这两个字符串是相等的。如果找到了不同的字符,则将其位置存储在 $diff_pos
变量中,并使用单引号包裹将其输出。
下面是另一个例子:
$str1 = "abc";
$str2 = "abz";
$diff_pos = strcmp($str1, $str2);
if (strpos($diff_pos, 0) === false) {
echo "The two strings are identical";
} else {
echo "The first different character is at position {$diff_pos}: '{$str1[$diff_pos]}' vs '{$str2[$diff_pos]}'";
}
以上代码使用 strcmp()
函数直接比较两个字符串,并将比较结果存储在 $diff_pos
变量中。因为 strpos()
函数在位置 0 处也返回 false,所以需要在比较前检查一下 $diff_pos
变量。如果 $diff_pos
不等于 0,则将其与其它字符串一起输出。
以上是关于使用 strcmp()
函数来比较两个字符串找出第一个不同字符位置的攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP中比较两个字符串找出第一个不同字符位置例子 - Python技术站