php字符串对比
⑴ php语言中如何比较两个字符串完全相等
== 判断字符串相等应该可以呀。
== 对于这个 0 和 ''是相等的,因为他们是false.
=== 这个是绝对的等于。 你试试、
⑵ php 如何比较两个中文字符串是否相等
普通比较用==类型和字符都比较用=== 即全等 比如 1和true用===比较的话就是不相等,用==比较的话就是相等的(前者是int型后者是bool型)1和"1"用===比较的话就是不相等,用==比较的话就相等(前者是int型,后者是str型)另:abc和Abc用==比较是不相等的.如果你在比较时出现另一个比较对像有可能大写时,可以用strtolower把那个可能出现大写的字符串转成全小写的再比较.
⑶ 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 中字符串与0最比较
不同变量类型进行比较的时候,PHP有内部机制进行转换,再加以比较。
$test01 == 0
应该是把 $test01 转化成整型再进行比较,所以结果就是 true 了。
如果不熟悉内部机制,在比较之前,尽量自己转化为相同类型再进行比较。
比较安全的做法就是用 === (三个等于号),这样不仅比较内容,还比较类型,如果类型不一致就按 false 处理。
⑸ 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怎么比较两个字符串
$a="abcde12";
$b="abcdf6";
echo "<pre>";
var_mp(diffStr($a,$b));
echo "</pre>";
/*
*比较字符串不同的字符
*@参数:$str1:第一个字符串,$str2:第二个字符串
*@<a href="https://www..com/s?wd=%E8%BF%94%E5%9B%9E%E5%80%BC&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">返回值</a>:不同字符串的数组,
*/
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 多个字符串比较是否相同
用explode把你的字符串分割为数组,然后对数组排序,最后把排序后的数组用implode合并为字符串,这时候比较的结果就是你需要的。
处理以上过程的例子代码:
<?php
$str1='F002,F001';
$arr=explode(',',$str1);
sort($arr);
$new1=implode($arr,',');
echo$new1;
?>
⑻ 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关于两个字符串的比较!!
这类替换最好不好使用正则表达式,因为你搜索的内容的唯一的无需使用正在,而且替换的文本较大正则效率太低。
方法是找到这两个特殊字符串的位置,然后使用substr删除中间部分,例子代码:
$str='....你要处理的字符串.....';
$s1='...开始字符串...';
$s2='...结束字符串...';
$i1=strpos($str,$s1);//开始位置
$i2=strpos($str,$s2);//结束位置
if
($i1!==false
&&
$i2!==false)//找到
$str=substr($str,0,$i1-1)
.
substr($str,$i2+strlen($s2));
⑽ PHP比较字符串 strcmp()函数问题
首先看字节数是不对的。我测试了下,这个比较是从开始比,只要遇到不想等的就会出结果了。也就是说,如果str1的某个字符比str2小,则str1<str2,而不会按整个字符串来比较。单个字符按ASCii码转换后比较,规则是小写字母大于大写字母,字母往后越大。如a>A,a<b<c。