php 中array_merge函数特性(其中一个参数为null)

需要合并两个从数据库中读取的数组,用php中的array_merge函数,最后结果总是为null,通过dump,发现这是由于其中的一个数组是null造成的。演示如下:

<?php

$arr1 =null;

$arr2 = array('tom','linken');

$arr3 = array_merge($arr1,$arr2);

var_dump($arr3);

运行的结果为null。

解决办法是可以在进行merge的时候把两个参数进行array强制类型转化;

如下:

<?php

$arr1 =null;

$arr2 = array('tom','linken');

$arr3 =array_merge((array)$arr1,(array)$arr2);

var_dump($arr3);

运行结果为:

array(2) { [0]=> string(3)"tom" [1]=> string(6) "linken" }

问题解决,这样就不用在代码中判断$arr1和$arr2是否为null了。

posted @ 2018-01-20 15:13  夜冷霜星  阅读(325)  评论(0编辑  收藏  举报