如何使用PHP运算符==比较字符串

开发 后端
PHP运算符==可以对两个字符串进行松散比较,我们可以使用这个运算符对字符串进行严格的减产,以避免产生错误带来不必要的麻烦。

PHP编程语言中有许多运算符来帮助我们处理相关的字符和数组,今天我们将为大家介绍的是PHP运算符==在比较字符串中的作用。在某些情况下,PHP会把类数值数据(如含有数字的字符串等)转换成数值处理,== 运算符就是其中之一。在使用PHP运算符==对两个字符串进行松散比较时,PHP会把类数值的字符串转换为数值进行比较,下面的实验证实了这个结论:

 

  1. < ?php  
  2. var_dump('01' == 1);  
  3. ?> 

 

#t#以上代码输出结果为:

bool(true)所以,在使用对字符串进行比较时,建议使用PHP运算符==对字符串进行严格的检查,或使用strcmp()等函数,从而避免可能产生的问题。

除此之外,常用的in_array()函数也存在弱类型的问题,见如下代码:

  1. < ?php  
  2. var_dump(in_array('01', array('1')));  
  3. ?> 

 

以上代码输出结果为:

bool(true)

相信用过该函数进行安全性检查的PHP编程人员都知道这会产生怎么样的安全问题了吧?幸好in_array()函数为我们提供了第三个参数,把它设为 true 就可以打开in_array()函数的强制类型检查机制,如下代码所示:

  1. < ?php   
  2. var_dump(in_array('01', array('1'), true));   
  3. ?> 

 

输出结果为:

bool(false)

由于PHP是一种弱类型的语言,也就是说数据类型这个概念在PHP中被弱化。因而如果在编程时过分忽略数据类型(也是大部份PHP程序员的通病),会产生一些问题,甚至导致安全漏洞。在PHP运算符==的介绍***,还是那句说得很烦很烦的话,对外来数据进行严格检查和过滤。

责任编辑:曹凯 来源: 脚本之家
相关推荐

2009-12-08 10:00:36

PHP比较运算符

2009-11-18 09:37:31

PHP逻辑运算符

2009-11-18 09:02:55

PHP运算符

2009-11-18 09:28:29

PHP运算符优先级

2010-01-19 15:30:44

VB.NET比较运算符

2009-11-26 11:12:07

PHP运算符

2010-09-13 14:47:10

sql server字

2009-11-17 09:13:21

PHP运算符

2009-11-18 09:19:47

PHP逻辑运算符

2009-08-11 15:51:08

C#运算符算术运算符

2009-08-12 15:02:49

C#赋值运算符简单赋值运算符

2022-05-10 09:47:10

Bash字符串Linux

2009-08-12 15:20:18

C#赋值运算符复合赋值运算符

2010-07-14 17:36:00

Perl运算符

2010-03-16 11:20:38

Python格式化

2023-04-10 08:58:13

C#关系运算符

2022-10-21 16:28:52

PythonGo布尔值

2009-11-26 18:36:52

PHP函数sprint

2021-07-12 15:35:56

JavaScript代码运算符

2018-12-14 10:00:16

BashLinux命令
点赞
收藏

51CTO技术栈公众号