本文目录一览:
php关于字符串比较的问题
php是弱类型语言,和java不同任何类型的变量都会被php自动转换成相符合的
不同变量类型进行比较的时候,PHP有内部机制进行转换,再加以比较。
0=='G'
是把‘G''转化成整型再进行比较,'G'转成整型是默认值0,所以结果就是 true 了。
但如果'1 G'转换,就会是值1
如果不熟悉内部机制,在比较之前,尽量自己转化为相同类型再进行比较。
比较安全的做法就是用 === (三个等于号),这样不仅比较内容,还比较类型,如果类型不一致就按 false 处理。
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程序设计有所帮助。
php如何模糊查询字符串? - 技术问答
可以用PHP里的strpos函数,这个函数可以实现你的要求,如:$str_add = \'中国人民银行\';
function fun($str1,$str2)
if(strpos($str1,$str2)!==-1) {
echo "true";
}
fun($str_add1,'银行');
这个函数就实现了你想要的功能了