美文网首页
php数组合并

php数组合并

作者: gogocheng | 来源:发表于2017-08-07 11:52 被阅读0次

    顾名思义,数组合并就是讲一个或多个数组合并起来,一个数组的值加在前一个数组的后面,最后返回结果数组。

    下面就来介绍两种数组合并方式:

    1.array_merge();

    array_merge()是最常用的一种数组合并方式,它是将一个或多个数组合并,如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

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

    比如:

    $array1= array("color"=>"red",2,4);

    $array2= array("a","b","color"=>"green","shape"=>"trapezoid",4);

    $result=array_merge($array1,$array2);

    print_r($result);

    以上例程会输出:

    Array(

    [color] => green

    [0] => 2

    [1] => 4

    [2] => a

    [3] => b

    [shape] => trapezoid

    [4] => 4

    )

    2.如果你想完全保留原有数组并只想新的数组附加到后面,用+运算符:如:$a=$b+$c;

    这里就拿$a=$b+$c来说,如果要数组相加实现数组的合并,后面相加$b和$c必须是数组。

    以下是我写的代码对这两种做一个比较:

    当判断$data为空的时候,如果用$req = $rew+$data;进行数组 合并的话,是不能对$data为空进行判断,程序会在115行报错。

    而当换成$req=array_merge($rew,$data);对数组进行合并时,程序正常运行,对对$data为空进行判断正确。

    在这里我们就会发现在array_merge()中,如果数组不存在, 默认当成空数组再来进行合并;但如果采用相加的方式来合并,如果其中的一个数组为空,这种方式合并就不能正常执行。

    相关文章

      网友评论

          本文标题:php数组合并

          本文链接:https://www.haomeiwen.com/subject/heiolxtx.html