❶ 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。