代码优化之foreach

昨晚刚好项目上线完,今天有时间来谈谈优化,作为一个程序猿,代码写的不好,那是很不开心的事,

虽然php是一门弱类型的语言:变量该申明还是要申明一下,该isset一下就isset,少用foreach能用函数代替就用函数代替

例如下面代码:

$a=M('','',C('MasterDb'))->table('select * from js_user id=1');

foreach($a as $key=>$val){

$b+=$val['number'];

}

这段代码如果查询数据库为空,下面代码就会报错,虽然程序表面不会出错,但是内在解析会出错的

说说我的写法

$a=M('','',C('MasterDb'))->table('select * from js_user id=1');

$result=0;

if(isset($a) && is_array($a)){

$result=array_reduce($a,function($result,$c){

     return $result+$c['number'];

})

}

以上代码没有测试,只是有兴趣的讨论一下

其实还可以看看有兴趣的还可以看看array_filter和array_map个人觉得这两个函数我也是用的超级多


你可能感兴趣的:(php)