当前位置:首页 » 编程语言 » 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-13 02:40:18 浏览:929
编译过程序后无法运行 发布:2025-01-13 02:40:16 浏览:306
c语言8字节 发布:2025-01-13 02:38:51 浏览:707
ps3iso文件夹 发布:2025-01-13 02:10:09 浏览:291
从qq里如何看到自己的登录密码 发布:2025-01-13 02:10:01 浏览:433
文明重启为什么会有服务器维护 发布:2025-01-13 02:00:14 浏览:353
净值人群怎么配置资产 发布:2025-01-13 01:42:07 浏览:463
android显示时间 发布:2025-01-13 01:42:06 浏览:5
php微信公众号开发教程 发布:2025-01-13 01:39:28 浏览:191
传奇攻倍脚本 发布:2025-01-13 01:28:58 浏览:511