當前位置:首頁 » 編程語言 » php字元比較

php字元比較

發布時間: 2022-11-14 19:51:40

php中strcmp()和strcasecmp()函數字元串比較用法分析

本文實例講述了PHP中strcmp()和strcasecmp()函數字元串比較用法。分享給大家供大家參考,具體如下:
一、PHP中strcmp()函數用於比較兩個字元串(區分大小寫),其定義如下:
strcmp(string1,string2)
參數說明:
string1
必需。規定要比較的第一個字元串。
string2
必需。規定要比較的第二個字元串。
PS:strcmp()函數與
strncmp()
函數類似,不同的是,strncmp()可以指定每個字元串用於比較的字元數。
二、PHP中strcasecmp()函數比較兩個字元串(不區分大小寫),其定義如下:
strcasecmp(string1,string2)
參數說明:
string1 必需。規定要比較的第一個字元串。
string2 必需。規定要比較的第二個字元串。
PS:strcasecmp()函數與
strncasecmp()
函數類似,不同的是,strncasecmp()可以指定每個字元串用於比較的字元數。
示例代碼:
<?php
$str1="腳本之家";
$str2="腳本之家";
$str3="www.jb51.net";
$str4="www.JB51.NET";
echo
strcmp($str1,$str2);//兩個字元串相等
echo
"<br/>";
echo
strcmp($str3,$str4);//注意該函數區分大小寫
echo
"<br/>";
echo
strcasecmp($str3,$str4);//該函數不區分大小寫
?>
運行結果如下:
0
1
0
補充:關於返回值問題
針對參數string1與string2的比較:
如果兩個字元串相等,則返回值為
0
如果
string1
小於
string2,則返回值小於0
如果
string1
大於
string2,則返回值大於0
希望本文所述對大家PHP程序設計有所幫助。

㈡ php比較相似字元串的方法

本文實例講述了php比較相似字元串的方法。分享給大家供大家參考。具體分析如下:
這里通過php的similar_text函數比較兩個字元串的相似性。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$word2compare
=
stupid;
$words
=
array(
'stupid',
'stu
and
pid',
'hello',
'foobar',
'stpid',
'upid',
'stuuupid',
'sstuuupiiid',
);
while(list($id,
$str)
=
each($words)){
similar_text($str,
$word2compare,
$percent);
print
Comparing
'$word2compare'
with
'$str':
;
print
round($percent)
.
%n;
}
/*
Results:
Comparing
'stupid'
with
'stupid':
100%
Comparing
'stupid'
with
'stu
and
pid':
71%
Comparing
'stupid'
with
'hello':
0%
Comparing
'stupid'
with
'foobar':
0%
Comparing
'stupid'
with
'stpid':
91%
Comparing
'stupid'
with
'upid':
80%
Comparing
'stupid'
with
'stuuupid':
86%
Comparing
'stupid'
with
'sstuuupiiid':
71%
*/
希望本文所述對大家的php程序設計有所幫助。

㈢ PHP 兩字元串比較,值相同 對比卻不相等

在PHP中,可以用==(雙等號)或者 ===(三等號)來比較字元串。兩者的區別是雙等號不比較類型,三等號會比較類型,它不轉換類型;用雙等號進行比較時,如果等號左右兩邊有數字類型的值,剛會把另一個值轉化為數字,然後進行比較。這樣的話,如果是純字元串或者NULL時,會轉化為0進行比較。同樣,大小於號也和等號一樣,比較時可能出現不正確的結果。
所以,比較字元串可以用PHP的自帶函數strcmp和strcasecmp。其中strcasecmp是strcmp的變種,它會先把字元串轉化為小寫再進行比較。 如下代碼:
var_mp(0 == 'Test');
var_mp(0 == '');
var_mp(5 > 'T');
var_mp(strcmp(5, 'T'));
運行結果:
bool(true)
bool(true)
bool(true)
int(-1)

㈣ php 字元串比較,取不同

例子如下:

$a="abcde12";
$b="abcdf6";
echo"<pre>";
var_mp(diffStr($a,$b));
echo"</pre>";
/*
*比較字元串不同的字元
*@參數:$str1:第一個字元串,$str2:第二個字元串
*@返回值:不同字元串的數組,
*/
functiondiffStr($str1,$str2){
$sArr1=str_split($str1);
$sArr2=str_split($str2);

$num1=count($sArr1);
$num2=count($sArr2);

$aNew=array();

if($num1>$num2){
foreach($sArr1as$k=>$val){
if($num2>$k&&$val!=$sArr2[$k]){
$aNew[]=array('s1'=>$val,'s2'=>$sArr2[$k]);
}elseif($num2<=$k){
$aNew[]=array("s1"=>$val);
}
}
}elseif($num1<$num2){
foreach($sArr2as$k=>$val){
if($num1>$k&&$val!=$sArr1[$k]){
$aNew[]=array('s1'=>$sArr1[$k],'s2'=>$val);
}elseif($num1<=$k){
$aNew[]=array("s2"=>$val);
}
}
}elseif($num1==$num2){
foreach($sArr1as$k=>$val){
if($val!=$sArr2[$k]){
$aNew[]=array('s1'=>$val,'s2'=>$sArr2[$k]);
}
}
}

return$aNew;
}

㈤ php中英文字元串為什麼能比較大小

是根據內碼進行比較,因為字元的內碼叫做ASCII,中文內碼有有UTF、UNICODE、ANSI等不同標准,和你說的ASCII類似,你可以這樣理解。

例子程序和代碼:

【編】【程】兩個字進行比較的情況如上,當然漢字是兩個位元組的,上面只顯示了格子的第一個位元組。

㈥ php 多個字元串比較是否相同

java中判斷字元串是否相等有兩種方法:1、用「==」運算符,該運算符表示指向字元串的引用是否相同,比如:
string
a="abc";string
b="abc",那麼a==b將返回true。這是因為在java中字元串的值是不可改變的,相同的字元串在內存中只會存一份,所以a和b指向的是同一個對象;再比如:string
a=new
string("abc");
string
b=new
string("abc");那麼a==b將返回false,因為a和b指向不同的對象。2、用equals方法,該方法比較的是字元串的內容是否相同,比如:string
a=new
string("abc");
string
b=new
string("abc");
a.equals(b);將返回true。所以通常情況下,為了避免出現上述問題,判斷字元串是否相等使用equals方法。

㈦ PHP語言中如何比較兩個字元串完全相等

你好!
strcmp
字元串比較。
語法:
int
strcmp(string
str1,
string
str2);
返回值:
整數
函數種類:
資料處理
內容說明
本函數用來比較二字元串的大小。返回負數表示
str1
小於
str2;返回正數表示
str1
大於
str2;返回零表示二字元串相同。
我的回答你還滿意嗎~~

㈧ php關於字元串比較並取不同!

其實之前已經回答你了,稍微改一下就可以了。例子:

<?php
$a="我今年十三歲我很開心";
$b="我今年十二歲我開心";
echo"<pre>";
var_mp(diffStr($a,$b));
echo"</pre>";
/*
*比較字元串不同的字元
*@參數:$str1:第一個字元串,$str2:第二個字元串
*@返回值:不同字元串的數組,
*/
functiondiffStr($str1,$str2){
preg_match_all("/./u",$str1,$arr1);
preg_match_all("/./u",$str2,$arr2);

$sArr1=$arr1[0];
$sArr2=$arr2[0];

$num1=count($sArr1);
$num2=count($sArr2);

$aNew=array();

if($num1>$num2){
foreach($sArr1as$k=>$val){
if($num2>$k&&$val!=$sArr2[$k]){
$aNew[]=array('s1'=>$val,'s2'=>$sArr2[$k]);
}elseif($num2<=$k){
$aNew[]=array("s1"=>$val);
}
}
}elseif($num1<$num2){
foreach($sArr2as$k=>$val){
if($num1>$k&&$val!=$sArr1[$k]){
$aNew[]=array('s1'=>$sArr1[$k],'s2'=>$val);
}elseif($num1<=$k){
$aNew[]=array("s2"=>$val);
}
}
}elseif($num1==$num2){
foreach($sArr1as$k=>$val){
if($val!=$sArr2[$k]){
$aNew[]=array('s1'=>$val,'s2'=>$sArr2[$k]);
}
}
}

return$aNew;
}
?>

㈨ php如何對比字元串內容

PHP中,可以用雙等號(==)或 三等號(===)來比較字元串。

二者的區別是:雙等號不比較類型,三等號會比較類型,但不轉換類型;用雙等號進行比較時,如果等號左右兩邊有數字類型的值,剛會把另一個值轉化為數字,然後進行比較。如果是純字元串或者NULL時,會轉化為0進行比較。同樣,大小於號也和等號一樣,比較時可能出現不正確的結果。

綜上所述,比較字元串可以用PHP的自帶函數strcmp和strcasecmp。其中strcasecmp是strcmp的變種,它會先把字元串轉化為小寫再進行比較。 如下代碼:

var_mp(0 == 'Test');

var_mp(0 == '');

var_mp(5 > 'T');

var_mp(strcmp(5, 'T'));

結果為(第1~3結果是不對的,只有第4個是對的)代碼如下:

bool(true)

bool(true)

bool(true)

int(-1)

㈩ php 如何比較兩個中文字元串是否相等

普通比較用==類型和字元都比較用=== 即全等 比如 1和true用===比較的話就是不相等,用==比較的話就是相等的(前者是int型後者是bool型)1和"1"用===比較的話就是不相等,用==比較的話就相等(前者是int型,後者是str型)另:abc和Abc用==比較是不相等的.如果你在比較時出現另一個比較對像有可能大寫時,可以用strtolower把那個可能出現大寫的字元串轉成全小寫的再比較.

熱點內容
會員過期緩存的能看嗎不聯網 發布:2025-01-12 21:16:47 瀏覽:768
演算法工作原理 發布:2025-01-12 20:36:38 瀏覽:25
網路訪問監控軟體 發布:2025-01-12 20:26:57 瀏覽:466
養羊啦源碼 發布:2025-01-12 20:25:48 瀏覽:571
軒逸朗逸哪個配置最好 發布:2025-01-12 20:10:00 瀏覽:50
主板存儲器分 發布:2025-01-12 20:04:46 瀏覽:377
資料庫邏輯運算 發布:2025-01-12 20:03:54 瀏覽:572
javawindows伺服器搭建 發布:2025-01-12 19:59:37 瀏覽:571
linux關閉iptables 發布:2025-01-12 19:58:49 瀏覽:151
伺服器電腦名字改了影響資料庫嗎 發布:2025-01-12 19:58:44 瀏覽:653