❶ 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 兩字元串比較,值相同 對比卻不相等
在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如何比對兩組字元串,其中包含大小字母、中英文
for($i = 0; $i<count($a);$i++){
for($j = 0;$j<count($b);$j++){
if($a[i] == $b[j]){
echo $a[i];
}}}
❹ PHP語言中如何比較兩個字元串完全相等
你好!
strcmp
字元串比較。
語法:
int
strcmp(string
str1,
string
str2);
返回值:
整數
函數種類:
資料處理
內容說明
本函數用來比較二字元串的大小。返回負數表示
str1
小於
str2;返回正數表示
str1
大於
str2;返回零表示二字元串相同。
我的回答你還滿意嗎~~
❺ php實現比較兩個字元串日期大小的方法
本文實例講述了php實現比較兩個字元串日期大小的方法。分享給大家供大家參考。具體如下:
<?php
function
dateBDate($date1,
$date2)
{
//
日期1是否大於日期2
$month1
=
date("m",
strtotime($date1));
$month2
=
date("m",
strtotime($date2));
$day1
=
date("d",
strtotime($date1));
$day2
=
date("d",
strtotime($date2));
$year1
=
date("Y",
strtotime($date1));
$year2
=
date("Y",
strtotime($date2));
$from
=
mktime(0,
0,
0,
$month1,
$day1,
$year1);
$to
=
mktime(0,
0,
0,
$month2,
$day2,
$year2);
if
($from
>
$to)
{
return
true;
}
else
{
return
false;
}
}
?>
$date1
=
"2009-10-13";
$date=
mktime(0,
0,
0,
date("m",
strtotime($date1)),
date("d",
strtotime($date1)),
date("Y",
strtotime($date1)));
最終取得一個日期的
Unix
時間戳$date=1255392000。
很多時候做搜索的時候,搜索的時間不能大於當前日期,比較函數的寫法大致和上面一個函數相同,具體如下:
function
dateBCurrent($date){
//日期是否大於當前日期
$currentDate=date("Y-m-d");
//獲取當前日期
$cYear=date("Y",strtotime($currentDate));
$cMonth=date("m",strtotime($currentDate));
$cDay=date("d",strtotime($currentDate));
$year=date("Y",strtotime($date));
$month=date("m",strtotime($date));
$day=date("d",strtotime($date));
$currentUnix=mktime(0,0,0,$cMonth,$cDay,$cYear);
//當前日期的
Unix
時間戳
$dateUnix=mktime(0,0,0,$month,$day,$year);
//待比較日期的
Unix
時間戳
if($dateUnix<=$currentUnix){
return
true;
}else{
return
false;
}
}
希望本文所述對大家的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比較字元串的函數strcmp()是通過字母順序還是字母的ASCII碼比較大小的
按ASCII碼。所以strcmp('A', 'a')<0。A=64, a=97
❽ PHP比較字元串 strcmp()函數問題
首先看位元組數是不對的。我測試了下,這個比較是從開始比,只要遇到不想等的就會出結果了。也就是說,如果str1的某個字元比str2小,則str1<str2,而不會按整個字元串來比較。單個字元按ASCii碼轉換後比較,規則是小寫字母大於大寫字母,字母往後越大。如a>A,a<b<c。