php数组(三) array_merge_recursive
array_merge_recursive是针对多维数组的情况,递归的对数组元素进行合并
1、特性验证
<?php $ar1 = array("color" => array("favorite" => "red", "blue"), 5); $ar2 = array(10, "color" => array("favorite" => "green", "blue")); $result = array_merge_recursive($ar1, $ar2); print_r($result); ?>
输出:如果输入的数组中有相同的字符串键名,则这些值会被合并到一个数组中去,这将递归下去,因此如果一个值本身是一个数组,本函数将按照相应的条目把它合并为另一个数组。需要注意的是,如果数组具有相同的数值键名,后一个值将不会覆盖原来的值,而是附加到后面。
类似于array_merge,对于数字key会重排,并不会覆盖原数组元素, 字符串类型的key则不同,会放在同一个数组中,比如favorite
Array ( [color] => Array ( [favorite] => Array ( [0] => red [1] => green ) [0] => blue [1] => blue ) [0] => 5 [1] => 10 )
2、测试array_merge合并多维数组
<?php $ar1 = array("color" => array("favorite" => "red", "blue"), 5); $ar2 = array(10, "color" => array("favorite" => "green", "blue")); $result = array_merge($ar1, $ar2); print_r($result); ?>
输出:array_merge合并数组时,不是递归合并,并且会覆盖原数组元素,例如color
Array ( [color] => Array ( [favorite] => green [0] => blue ) [0] => 5 [1] => 10 )
posted on 2021-08-02 20:41 1450811640 阅读(60) 评论(0) 编辑 收藏 举报