• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

由php if 想到的些问题_php技巧

php 搞代码 4年前 (2022-01-26) 15次浏览 已收录 0个评论
<?php  <BR>/* PHP code */  <BR>header("Content-type: text/javascript");  <BR>if (!haveCookie('cookieName')) {  <BR>   // ... do something  <BR>?>  <BR>/* Javascript code */  <BR>if ('undefined' == typeof document.cookie['cookieName']) {  <BR>    setCookie('cookieName', 3600);  <BR>}  <br><br>   // ... do something with Javascript  <BR><?php  <BR>}  <BR>?><BR>


粗看起来代码已经无懈可击,我们亲爱的 小马 还是发现了问题的存在。就是在 Javascript 中的那个判断是永远为 true

if ('undefined' == typeof document.cookie['cookieName']) {  <BR>    // ...  <BR>}<BR>


因为这段代码是在 PHP 端有%本文@来源gao@!dai!ma.com搞$$代^@码!网搞代gaodaima码个前提,就是

if (!haveCookie(‘cookieName’))的时候,才会在客户端显示。那么,当不满足这一条件,这段代码自然就不会扔给客户端。这样说似乎有点笼统,那么先撇开 Javascript 代码,我们就单纯使用 PHP 代码表述一下

<?php  <BR>header("Content-type: text/javascript");  <BR>if (!haveCookie('cookieName')) {  <BR>   if (!haveCookie('cookieName')) {  <BR>       setCookie('cookieName');  <BR>   }  <BR>}  <BR>?><BR>


这样就显得清晰了很多,并很容易就能发现问题所在 — 我们在不经意间就多做了一次判断,虽然这是 Javascript 在客户端执行的。

总结下,本人从这段代码想到的些废话:

代码越长,不见得效率就越高
在不影响逻辑和流程的情况下,尽量将多个判断写在一起
尽量将低复杂度的函数放前判断
过多的判断容易造成程序效率降低,在判断中使用高时间复杂度的函数时尤其要注意
如果发现 if 嵌套得太多,就得重新考虑流程和算法
健壮的代码不是靠过分的判断保证而成的
将代码简化后,会发现很多还未发现的问题
过多的判断另个角度理解,是缺乏对代码的信心
最后,再次感谢 小马 同志。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:由php if 想到的些问题_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址