2 回答

TA貢獻1887條經驗 獲得超5個贊
查看PHP:strcmp doc:
如果str1小于str2,則返回<0;否則,返回0。如果str1大于str2,則> 0;如果相等,則> 0。
是的,您可以按原樣使用它來比較您的字符串。
但是,如果您想了解函數返回的數字,則取決于構成字符串的字符。
在ASCII中:
A = 65 <B = 66 <C = 67 ....
因此,如果字符串不同,則一個字符串將大于另一個字符串。
因此,您也可以使用簡短的腳本輕松地對其進行測試:
<?php
$a='A';
$b='B';
$c='C';
//Return -1 because $a is smaller than $b by one (65 < 66 )
echo strcmp($a,$b);
//Return -2 because $a is smaller than $c by two (65 < 67 )
echo strcmp($a,$c);
//Return -1 because $b is smaller than $c by one (66 < 67 )
echo strcmp($b,$c);
//Return 1 because $c is greater than $b by one (67 > 66 )
echo strcmp($c,$b);
//Return 2 because $c is greater than $a by two (67 > 65 )
echo strcmp($c,$a);

TA貢獻1942條經驗 獲得超3個贊
strcmp用于比較PHP中的兩個字符串。如果結果大于0,則其平均變量1($ a)大于Var2($ b);如果返回結果小于0,則其平均$ b較大;如果結果等于0,則其兩個字符串均等于彼此。
$a="Hello world!";
$b= "Hello world!";
var_dump(strcmp($a, $b)); // result is 0
$a = "Hello";
$b = "Hello World";
var_dump(strcmp($a, $b)); // Outputs: -6
如果您想看到差異,可以使用它
$a = 'some-content-here-example';
$b = 'some-content-example';
$asp = preg_split('//', $a, -1);
$bsp = preg_split('//', $b, -1);
$l1 = count($asp);
$l2 = count($bsp);
$length = $l1;
if ($l2 > $l1) {
$length = $l2;
}
$record = null;
$x = null;
for ($x = 0; $x < $length; $x++) {
if ($a[$x] != $b[$x]) {
if (!isset($a[$x])) {
$record.= $b[$x];
} else {
$record.= $a[$x];
}
}
}
echo $record;
- 2 回答
- 0 關注
- 186 瀏覽
添加回答
舉報