【问题标题】:Combing two arrays PHP组合两个数组 PHP
【发布时间】:2016-10-08 13:56:04
【问题描述】:

我有两个数组,我需要将它们组合成一个数组。我试过 array_mergearray_combine 但它不起作用。有人可以帮我吗?

第一个数组

Array
(

[6] => Array
    (
        [nid] => 5
        [title] => YSL
        [field_category] => test
        [field_collection_creation] => 
        [body] => 
    )

)

第二个数组

Array
(

[0] => Array
    (
        [nid] => 13
        [title] => ar
        [field_category] => test
        [field_collection_creation] => 
        [body] => 
    )

[1] => Array
    (
        [nid] => 14
        [title] => bi
        [field_category] => test
        [field_collection_creation] => 
        [body] => 
    )

[2] => Array
    (
        [nid] => 28
        [title] => lc
        [field_category] => test
        [field_collection_creation] => 
        [body] => 
    )

[3] => Array
    (
        [nid] => 21
        [title] => gat
        [field_category] => test
        [field_collection_creation] => 
        [body] => 
    )

[4] => Array
    (
        [nid] => 20
        [title] => testle
        [field_category] => test
        [field_collection_creation] => 
        [body] => 
    )

[5] => Array
    (
        [nid] => 29
        [title] => test
        [field_category] => test
        [field_collection_creation] => 
        [body] => 
    )

)

如何组合这两个数组,保持键不变?

【问题讨论】:

  • 如果两者都有索引怎么办?
  • 定义“不工作”。
  • @Thamilan array_replace 是否保存数字索引?
  • @Utkanos 他们不保存数字索引,我认为
  • @splash58 索引不会出现在两个数组中。它一开始是一个数组,需要分解以进行一些操作,现在我需要再次组合成一个完整的数组。

标签: php arrays merge


【解决方案1】:

因为索引不会出现在两个数组中使用通常的foreach

foreach($ar1 as $k=>$v)
  $ar2[$k] = $v;

它从一个数组中获取键和值,并在另一个数组中创建相同的键值对

【讨论】:

  • 你能解释一下吗?
【解决方案2】:

只需使用数组联合 + 运算符合并数组即可:

//  $first and $second - are your arrays respectively
$result = $second + $first;  // $result contains the combined array

如果要将第二个数组中的数组元素附加到 第一个数组,而不覆盖第一个数组中的元素 而不是重新索引,使用 + 数组联合运算符:

【讨论】:

  • 是的!我忘记了 +1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-22
  • 2015-01-26
  • 2011-02-22
  • 1970-01-01
相关资源
最近更新 更多