存档

2018 年 06 月 - 2 文章

PHP 没有块级作用域

 

<?php $arr = range(0, 9); foreach ($arr as $k => $v) { if ($v/2 == 0) { $flag = true; } else if ($v > 6) { $flag = true; } if (isset($flag)) { // do something echo "I Love PHP!\n"; } } 以上代码除了 $arr 中的值为偶数和大于 6 时会输出”I Love PHP!" ,其它情况也会输出,一开始,我是有点困惑的,搞了好些时间才搞明白。 简单分析下解决的过程:这个代码片段是在最近排查系统的 bug 是看到的,流程做了些简化。代码是我本人写的😓,系统在最开始并没有出现问题,上线一段时候后,就出 bug 了。有的人可能一眼就看出来问题在哪了,但是如果你对 PHP 的变量的作用域不太了解的话,就很容易栽进这坑里。 PHP 有函数作用域,但没有像 c/c++、java 等语言的块及作用域。例如在 c++ 里: for (int i = 0; i < 10; i++) { cout &lt....

More...

502 Bad Gateway 什么意思,如何解决? 有更新!

  ,

浏览器访问网站是的时候出现 "Bad Gateway" 错误是什么原因导致的?我们又该如何快速的解决呢?

More...