`
xuela_net
  • 浏览: 494740 次
文章分类
社区版块
存档分类
最新评论

容易被PHP程序员忽视的几个要点

 
阅读更多

前几天就想好好整理上次遇到的问题,但是工作比较忙,就放到周末来写吧。

上次和同事沟通需求的时候,他给了一段他写好了的代码,我运行的时候发现了几个BUG,都是由于程序不严谨,考虑不周到,在这里写下来,和有一定PHP开发基础的朋友分享一下。


1、foreach数组一定先判断类型

发现很多PHP程序员在foreach数组的时候直接来,没有在之前判断一下类型,这可能是由于PHP是弱类型语言导致大家的定向编程思维吧。逻辑上是从数据库里边取出来一个数组,然后我们在PHP程序里边直接foreach,这无可厚非,但是,有没有想过数据库根据你的SQL条件压根就没取到数据呢?那么,在PHP代码里边直接foreach一个空的变量就会报错了!虽然,几乎所有公司的线上环境都已经屏蔽了PHP报错,但是,我们可以再把我们的代码写得再严谨一点,下面是我的习惯写法:

<?php
//定义测试数组
$arr_temp = array(1=>'one');

//先判断
if(is_array($arr_temp) && count($arr_temp) >0){
      //再foreach遍历
      foreach($arr_temp as $k=>$v){
            ... ...
       }
}
?>
当然,上面只是我的习惯写法,你知道在foreach之前判断类型就OK了。这是在,你不能完全确定你获取的数据是否是数组的情况下必须写的一个步骤。如果你能100%确定你能得到一个数组类型的数据的话,那这个步骤可以无视。


2、需要什么数据就从库里边获取多少数据

我那哥们给我的代码是这么写的:从数据库里获取所有记录(其实他只需要4条就完事了),然后在展示层只foreach循环遍历输出4条数据!多么可怕的写法呀!

一个用户访问还好,访问量大了,内存直接撑到暴!

其实,取4条数据在你从数据库里获取时候的时候就应该限制了,并且select的时候需要哪些字段就获取哪些字段,很多朋友一写select 就直接select * from ... (自己当初也这么干的,呵呵)。这个习惯很不好,合理有效的利用数据与服务器内存,将硬件成本最小化。


说在最后:工作一年了,学到了很多,想分享的也很多,以后会慢慢写下来,鄙人是一位疯狂的编程图书收藏者,www.codejia.net 个人收藏屋,金屋藏娇于此。现在主要工作数据处理这块,后续和大家分享更多有关数据库性能方面的东东吧。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics