php array_merge_recursive保留数字键

23 php array-merge

我只想合并

$a = array("59745506"=>array("up" => 0,));
$b = array("59745506"=>array("text" => "jfrj"));
$c = array_merge_recursive_new($a, $b);
Run Code Online (Sandbox Code Playgroud)

结果:

Array
(
    [0] => Array
        (
            [up] => 0
        )

    [1] => Array
        (
            [text] => jfrj
        )

)
Run Code Online (Sandbox Code Playgroud)

预期结果:

    Array
(
    [59745506] => Array
        (
            [up] => 0
            [text] => jfrj
        )

)
Run Code Online (Sandbox Code Playgroud)

http://www.php.net/manual/en/function.array-merge-recursive.php中的第2条评论正在运行,它是我案例的最佳解决方案(我需要将数组与多个数字键合并,和2级)?

另一种解决方法是使用array_map实现它(function()...

sal*_*the 57

array_replace_recursive()功能看起来就是您所需要的.

$a = array("59745506" => array("up" => 0,));
$b = array("59745506" => array("text" => "jfrj"));
$c = array_replace_recursive($a, $b);
var_export($c);

// array (
//   59745506 => 
//   array (
//     'up' => 0,
//     'text' => 'jfrj',
//   ),
// )
Run Code Online (Sandbox Code Playgroud)

  • 等待...合并=保留冲突的密钥; replace =合并冲突键?!这就是世界喜欢php的原因...... (6认同)
  • 谢谢 - 但多么荒谬。这应该作为“array_merge_recursive()”的参数来实现。 (2认同)