简体   繁体   English

在PHP中合并两个单独的数组

[英]Merge two separate arrays in php

I have two arrays like below: 我有两个像下面这样的数组:

array
  'result1' => 
    array
      'entities' => 
        array
          0 => 
            object(ElggUser)[979]
              ...
      'count' => int 1
array
  'result2' => 
    array
      'entities' => 
        array
          0 => 
            object(ElggUser)[983]
              ...
          1 => 
            object(ElggUser)[986]
              ...
          2 => 
            object(ElggUser)[989]
              ...
          3 => 
            object(ElggUser)[992]
              ...
          4 => 
            object(ElggUser)[995]
              ...
          5 => 
            object(ElggUser)[998]
              ...
          6 => 
            object(ElggUser)[1001]
              ...
          7 => 
            object(ElggUser)[1004]
              ...
          8 => 
            object(ElggUser)[1007]
              ...
          9 => 
            object(ElggUser)[1010]
              ...
      'count' => int 1453

So I have tried array_merge for this like array_merge($results1["result1"],$results2["result2"]); 所以我已经尝试过array_merge这样的array_merge($results1["result1"],$results2["result2"]); but I am getting the 2nd array as result how do it? 但是我得到第二个数组结果如何呢? I am getting the result like: 我得到的结果是:

array
      'entities' => 
        array
          0 => 
            object(ElggUser)[983]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
          1 => 
            object(ElggUser)[986]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
          2 => 
            object(ElggUser)[989]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
          3 => 
            object(ElggUser)[992]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
          4 => 
            object(ElggUser)[995]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
          5 => 
            object(ElggUser)[998]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
          6 => 
            object(ElggUser)[1001]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
          7 => 
            object(ElggUser)[1004]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
          8 => 
            object(ElggUser)[1007]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
          9 => 
            object(ElggUser)[1010]
              protected 'attributes' => 
                array
                  ...
              protected 'url_override' => null
              protected 'icon_override' => null
              protected 'temp_metadata' => 
                array
                  ...
              protected 'temp_annotations' => 
                array
                  ...
              protected 'volatile' => 
                array
                  ...
              private 'valid' (ElggEntity) => boolean false
      'count' => int 1453

You have a multidimensional array, so use array_merge_recursive : 您有一个多维数组,因此请使用array_merge_recursive

$result = array_merge_recursive($results1["result1"], $results2["result2"]);

for example: 例如:

$result1 = array("result1" => array("entities" => array(1, 2, 3)));
$result2 = array("result2" => array("entities" => array(4, 5, 6)));

var_dump(array_merge($result1["result1"], $result2["result2"]));

gives you 给你

array(1) {
  'entities' =>
  array(3) {
    [0] =>
    int(4)
    [1] =>
    int(5)
    [2] =>
    int(6)
  }
}

while

var_dump(array_merge_recursive($result1["result1"], $result2["result2"]));

gives you the expected 给您期望

array(1) {
  'entities' =>
  array(6) {
    [0] =>
    int(1)
    [1] =>
    int(2)
    [2] =>
    int(3)
    [3] =>
    int(4)
    [4] =>
    int(5)
    [5] =>
    int(6)
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM