·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> array_merge函数的注意事项

array_merge函数的注意事项

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23

  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);