php array_merge 利用 array_key_exists实现

* myarraymerge.php

http://php.net/manual/en/function.array-merge.php

<?php
// http://php.net/manual/en/function.array-merge.php
function myarraymerge($a1, $a2) {
    $index = 0;
    foreach ($a1 as $key => $value) {
        if (is_int($key)) {
            $index++;
        } else {
            if (array_key_exists($key, $a2) && is_string($key)) {
                $a1[$key] = $a2[$key];
                unset($a2[$key]);
            }
        }
    }
    foreach ($a2 as $key => $value) {
        if (is_int($key)) {
            $a1[$index++] = $value;
        } else {
            $a1[$key] = $value; 
        }
    }
    return $a1;
}

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

$a = myarraymerge($array1, $array2);
print_r($a);

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

* test

php myarraymerge.php

Array
(
    [color] => green
    [0] => 2
    [1] => 4
    [2] => a
    [3] => b
    [shape] => trapezoid
    [4] => 4
)
Array
(
    [0] => data
)
 

猜你喜欢

转载自blog.csdn.net/fareast_mzh/article/details/83178490
今日推荐