php比较字符串,php 字符串
PHP语言中如何比较两个字符串完全相等?
== 判断字符串相等应该可以呀。
== 对于这个 0 和 ''是相等的,因为他们是false.
=== 这个是绝对的等于。 你试试、
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?如何比较两个中文字符串是否相等
function
arr_split_zh($tempaddtext){
$cind
=
0;
$arr_cont=array();
for($i=0;$istrlen($tempaddtext);$i++)
{
if(strlen(substr($tempaddtext,$cind,1))
0){
if(ord(substr($tempaddtext,$cind,1))
0xA1
){
//如果为英文则取1个
字节
array_push($arr_cont,substr($tempaddtext,$cind,1));
$
cin
d++;
}else{
array_push($arr_cont,substr($tempaddtext,$cind,2));
$cind+=2;
}
}
}
return
$arr_cont;
}
$str1="中文字符串1";
$str2="中文字符串2";
$Arr_Str1
=
arr_split_zh($str1);
$Arr_Str2
=
arr_split_zh($str2);
function
Str_Is_Equal($mystr1,$mystr2){
$result
=
0;
for($i=0;$mystr1[$i];$i++){
if($mystr1[$i]
!=$mystr2[$i]){
$result
=
0;
break;
}
$result
=
1;
}
return
$result;
}
看看行不?我这边Apache环境有点问题,所以没有测试
php 字符串比较,取不同
例子如下:
$a="abcde12";
$b="abcdf6";
echo?"pre";
var_dump(diffStr($a,$b));???
echo?"/pre";
/*
*比较字符串不同的字符
*@参数:$str1:第一个字符串,$str2:第二个字符串
*@返回值:不同字符串的数组,
*/
function?diffStr($str1,$str2){
????$sArr1?=?str_split($str1);???
????$sArr2?=?str_split($str2);???
?????
????$num1??=?count($sArr1);
????$num2??=?count($sArr2);
?????
????$aNew??=?array();
?????????
????if($num1??$num2){
????????foreach($sArr1?as?$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($sArr2?as?$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($sArr1?as?$k=$val){
????????????if($val?!=?$sArr2[$k]){??????????????
????????????????$aNew[]?=?array('s1'=$val,'s2'=$sArr2[$k]);
????????????}??
????????}??
????}
?????
????return?$aNew;
}
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="";
$str4="";
echo
strcmp($str1,$str2);//两个字符串相等
echo
"br/";
echo
strcmp($str3,$str4);//注意该函数区分大小写
echo
"br/";
echo
strcasecmp($str3,$str4);//该函数不区分大小写
?
运行结果如下:
1
补充:关于返回值问题
针对参数string1与string2的比较:
如果两个字符串相等,则返回值为
如果
string1
小于
string2,则返回值小于0
如果
string1
大于
string2,则返回值大于0
希望本文所述对大家PHP程序设计有所帮助。
