本文介绍php开发中常用的字符串比较的方法,以PHP7.4为例,可以使用双等号,strcmp()方法,strcasemp()方法、strncasecmp()方法以及ctrncmp()方法,等进行判断,下边以"=="和strcmp()方法为例进行举例:
// 定义插入的数据 $data = [ "name" => "张三", "age" => "25", "detail" => "我是张三" ]; $insertData = Db::name("user") ->where("name",$data["name"]) ->value("name");
1、使用运算符“==”比较字符串是否相等
“==”表示“相等”,是一个比较运算符,用于比较等号两边表达式或变量是否相等。
if ($data["name"] ===$insertData){ echo "你插入的姓名有重复,请重写!"; }else{ $result = Db::name("user") ->insert($data); halt($result); }
2、使用strcmp()函数比较字符串是否相等
strcmp() : 比较两个字符串(大小写敏感)。
返回值分为3种情况:
0 - 如果两个字符串相等
<0 - 如果 字符串1 小于 字符串2
>0 - 如果 字符串1 大于 字符串2
只需要检查strcmp()函数的返回值是否等于0即可知道两字符串是否相等。
if (strcmp($data["name"],$insertData) !=0){ $result = Db::name("user") ->insert($data); halt($result); }else{ echo "你插入的姓名有重复,请重新填写!"; };
3、使用strcasecmp()函数比较字符串是否相等
PHP 中的 strcasecmp() 函数与 strcmp() 函数的功能类似,都可以比较两个字符串,不同的是 strcasecmp() 函数在比较字符串时不会区分大小写,其语法格式如下:
根据比较结果,
如果 $str1 小于 $str2,则返回值 < 0;
如果 $str1 大于 $str2,则返回值 > 0;
如果 $str1 于 $str2 相等,则返回 0。
只需要检查strcasecmp()函数的返回值是否等于0即可知道两字符串是否相等。
4、使用strncasecmp()函数比较字符串是否相等
strncasecmp() 函数比较两个字符串(不区分大小写)。
该函数与 strcasecmp() 函数类似,不同的是,strcasecmp() 没有 length 参数(不能指定每个字符串用于比较的字符数)。
返回值和strcasecmp() 函数一样
5、使用strncmp()函数比较字符串是否相等
strncmp() 函数比较两个字符串(区分大小写)。
该函数与 strcmp() 函数类似,不同的是,strcmp() 没有 length 参数(不能指定每个字符串用于比较的字符数)。
返回值和strcmp() 函数一样
联系电话:0763-84538663
联 系 QQ:540383622
工作时间:周一至周五8:00~18:00