array_merge函数的注意事项


  array_merge — 合并一个或多个数组 

  array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。

  如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

  如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。

  array_merge will return NULL if any of the arguments are NULL。

  例如:

    $array1 = NULL;
    $array2 = array(1 => "data");
    $result = array_merge($array1, $array2);

    var_dump($result);结果为NULL,所以在写SQL语句获取结果集的时候要注意,if(empty($resut)){$result=array();} 赋值为空数组后再和其他的数组进行合并。

  例子

        //新的逻辑
$agent_id=$location_model->where("id='$location_id'")->getField('agent_id');
//再查询已授权的运营商(要排除授权商家)
if(!empty($agent_id)){
$tpl_list2=$tpl_model->where("status=1 and agent_range=2 and agent_id in ($agent_id) and supplier_id=''")->field($field)->order('id desc')->select();
}
if(empty($tpl_list2)){
$tpl_list2=array();
}

//再查询授权全部运营商
$tpl_list3=$tpl_model->where("status=1 and agent_range=1")->field($field)->order('id desc')->select();
if(empty($tpl_list3)){
$tpl_list3=array();
}
     //array_merge will return NULL if any of the arguments are NULL
$tpl_list_merge=array_merge($tpl_list1,$tpl_list2,$tpl_list3);

如果您阅读过此文章有所收获,请为我顶一个,如果文章中有错误的地方,欢迎指出。

相互学习,共同进步!

 

本站声明
本文转载自:http://www.cnblogs.com/zhangxiaoliu/p/5043644.html     作者:张发财     发布日期:2015/12/13     本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。


 
© 2014-2017 ITdaan.com 粤ICP备14056181号