多数大学生出来选择的工作和专业无关
首页 > 专业知识

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

时间:2019-02-13 19:21:14 [来源]:郑州PHP培训学校

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

  PHP编程语言中有许多运算符来帮助我们处理相关的字符和数组,今天我们将为大家介绍的是PHP运算符==在比较字符串中的作用。在某些情况下,PHP会把类数值数据(如含有数字的字符串等)转换成数值处理,== 运算符就是其中之一。在使用PHP运算符==对两个字符串进行松散比较时,PHP会把类数值的字符串转换为数值进行比较,下面的实验证实了这个结论:
  < ?php
  var_dump('01' == 1);
  ?>
  PHP打印函数的种类总结
  PHP中$_SERVER的详细资料整理
  PHP函数stristr()的具体使用方式介绍
  PHP代码性能优化的技巧讲解
  如何运用PHP函数preg_match_all测试正则
  以上代码输出结果为:
  bool(true)所以,在使用对字符串进行比较时,建议使用PHP运算符==对字符串进行严格的检查,或使用strcmp()等函数,从而避免可能产生的问题。
  除此之外,常用的in_array()函数也存在弱类型的问题,见如下代码:
  < ?php
  var_dump(in_array('01', array('1')));
  ?>
  以上代码输出结果为:
  bool(true)
  相信用过该函数进行安全性检查的PHP编程人员都知道这会产生怎么样的安全问题了吧?幸好in_array()函数为我们提供了第三个参数,把它设为 true 就可以打开in_array()函数的强制类型检查机制,如下代码所示:
  < ?php
  var_dump(in_array('01', array('1'), true));?>
  输出结果为:
  bool(false)
  由于PHP是一种弱类型的语言,也就是说数据类型这个概念在PHP中被弱化。因而如果在编程时过分忽略数据类型(也是大部份PHP程序员的通病),会产生一些问题,甚至导致安全漏洞。在PHP运算符==的介绍最后,还是那句说得很烦很烦的话,对外来数据进行严格检查和过滤。
  PHP代码性能优化的技巧讲解
  PHP代码性能优化可以通过不要随便就复制变量、对字符串使用单引号、使用 echo 函数来输出字符串、不要在 echo 中使用连接符、使用 switch/case 代替 if/else等方式实现。PHP语言虽然功能强大,但是它并不是没有缺点的。同其他语言一样,它在实际应用编写中也需要不断的更新修改已编代码,直到满意为止。我们接下来就与大家一起分享PHP代码性能优化的一些技巧。
  有时候为了使 PHP 代码更加整洁,一些 PHP 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入 512KB 字节的文字到文本输入框中,这样就会导致 1MB 的内存被消耗!
  BAD:
  $description = $_POST['description'];
  echo $description;
  GOOD:
  echo $_POST['description'];
  引用
  PHP代码性能优化2. 对字符串使用单引号
  PHP 引擎允许使用单引号和双引号来封装字符串变量,但是这个是有很大的差别的!使用双引号的字符串告诉 PHP 引擎首先去读取字符串内容,查找其中的变量,并改为变量对应的值。一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。最好是使用字符串连接而不是双引号字符串。
  BAD:
  $output = "This is a plain string";
  GOOD:
  $output = 'This is a plain string';
  BAD:
  $type = "mixed";
  $output = "This is a $type string";
  GOOD:
  $type = 'mixed';
  $output = 'This is a ' . $type .' string';引用
  PHP代码性能优化3. 使用 echo 函数来输出字符串使用 echo() 函数来打印结果出了有更容易阅读之外,在下个例子中,你还可以看到有更好的性能。
  BAD:
  print($myVariable);
  GOOD:
  echo $myVariable;
  PHP函数stristr()的具体使用方式介绍
  我们在实际编码中会遇到查找字符串的情况。如果我们需要再查找出在另一个字符串中第一次出现的位置的话应当怎么编写呢?今天我们为大家介绍的PHP函数stristr()就是实现这一功能的函数。
  PHP扩展库的详细清单概览
  PHP网络函数fsockopen如何实现Socket链接
  PHP动态网站开发的技巧分享
  PHP打印函数的种类总结
  PHP中$_SERVER的详细资料整理
  定义和用法
  PHP函数stristr()查找字符串在另一个字符串中第一次出现的位置。如果成功,则返回字符串的其余部分(从匹配点)。如果没有找到该字符串,则返回 false。
  语法
  stristr(string,search)
  参数 描述
  string 必需。规定被搜索的字符串。
  find 必需。规定要查找的字符。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符。
  提示和注释注释:该函数是二进制安全的。
  注释:该函数对大小写不敏感。如需对大小写敏感的搜索,请使用strstr()。
  PHP函数stristr()例子 1
  < ?php
  echo stristr("Hello world!","WORLD");
  ?>
  输出:
  world!
  PHP函数stristr()例子 2
  < ?php
  echo stristr("Hello world!",111);
  ?>
  输出:
  o world!
 

上一篇:如何正确实现PHP生成唯一标识符

下一篇:PHP的cURL库简单和有效地抓网页