您当前的位置: 首页 > 网站编程 > PHP教程 > 新手对PHP if 判断式语句可能犯的拼写错误

新手对PHP if 判断式语句可能犯的拼写错误

作者:不详 来源:网络 发布时间: 2014-08-12 14:01 点击:
写这篇的主因是上週追一个 typo error, 但是这是正确标準语法, 不会產生 syntax error, 所以不好追, 再此做个记录, 之后可以先 grep 看看是不是这种 typo error 造成的. XD PHP if 判断式可能犯的拼写错误 if 判断式 写法, 有一个很常见的, 但是那不是 typo error, 也

新手对PHP if 判断式语句可能犯的拼写错误

  写这篇的主因是上週追一个 typo error, 但是这是正确标準语法, 不会產生 syntax error, 所以不好追, 再此做个记录, 之后可以先 grep 看看是不是这种 typo error 造成的. XD

  PHP if 判断式可能犯的拼写错误

  if 判断式 写法, 有一个很常见的, 但是那不是 typo error, 也很常这样子写的, 是 “=”、”==”、”===”.

  范例

  View Raw Code?

  <?php

  if ($a = ‘a’)

  echo ‘这行会印出来, 因為 $a = “a”, 而 a 不是 0 / false, 所以会恆為 true’;

  if ($a == ‘b’)

  echo ‘这行不会被印出来, 因為 $a 等於 “a”, 不等於 “b”‘;

  if ($a === true)

  echo ‘这行不会被印出来, 因為 $a 型态不是 true. (当然主要是值不对, 但是在此先不讨论)’;

  ?>

  当程式裡面, 不小心把 等号删掉一个, 就会引发很大的悲剧. (syntax 检查不出来, 是正确写法)

  上述那个是常见的, 也很难追的, 但是下述的是写第一次遇见的~ (把 “!=” 打成 “=!”, 这个应该 9成9 是 typo error.)

  View Raw Code?

  <?php

  $a = ‘b’;

  if ($a != ‘a’)

  echo $a; // 这行会印出 ‘b’, 这是本来要做的事情.

  // 当 != 打成 =! 的话, 就会造成悲剧.

  if ($a =! ‘a’)

  echo ‘这行不会被印出来’;

  var_dump($a); // 印出 false

  ?>

  问题追踪拆解

  一步一步分解 $a =! ‘a’

  $a = !’a’ // ‘a’ 的 boolean 是 true, !true = false.

  $a = false

  所以 if ($a = false), 就永远不会落入此行, syntax 也是合法的.

  註: 以后 Debug 除了 “=”、”==”、”===” 外, 要多注意看看 “!=” 和 “=!” 的写法.
分享到:
本文"新手对PHP if 判断式语句可能犯的拼写错误"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4