php如何对比字符串内容
发布网友
发布时间:2022-04-19 22:52
我来回答
共10个回答
热心网友
时间:2022-04-06 05:18
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)
热心网友
时间:2022-04-06 06:36
<?php
$a = 'vvv';
$b = 'ccc';
if ($a == $b) {
echo 'same';
} else {
echo 'diff'
}
热心网友
时间:2022-04-06 08:11
直接用==就是了。。返回TRUE就是相等。否则返回FALSE。。。===是类型也相等如1=='1'返回TRUE,而1==='1'返回FALSE。如果有java基础学习php很快咯。。。我就是这样
热心网友
时间:2022-04-06 10:02
可以使用strcmp()函数进行比较。详细用法请参考这里http://www.w3school.com.cn/php/func_string_strcmp.asp
热心网友
时间:2022-04-06 12:10
在php中就是用 == 啊
比如
$a = "china";
$b = "chinn";
$c = "china";
if($a == $b){
echo "这句话不会输出";
}
if($a == $c){
echo "这句话会输出";
}
不过要注意大小写哦。可能linux服务器区分大小写 呵呵 我记得不太清楚了。
热心网友
时间:2022-04-06 14:35
linux下严格区分大小写,要注意
$a="china";
$b="china";
if($a===$b) #严格比较的话要用“===”
{
echo "equal";
}else{
echo "no";
}
strcmp() 这个方法是来查找字符串中一个子串是否存在,存在返回ture否则返回false
热心网友
时间:2022-04-06 17:16
字符串==字符串
==好就是对比嘛
对比函数
热心网友
时间:2022-04-06 20:14
用strcmp是比较ASCII大小的,
用==是比较字符串是否相等,
你上面说的要用“==“做比较。
$a = "china";
$b = "chinn";
$c = "china";
if($a == $b){
echo "$a与$b相等";
else echo "$a与$b不相等"
}
if($a == $c){
echo "$a与$c相等";
else echo "$a与$c不相等"
}
热心网友
时间:2022-04-06 23:29
echo "china"=="china";
echo "<br>";
echo "china"=="chinn";
热心网友
时间:2022-04-07 03:00
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)