【问题标题】:How can I group 2 array?如何将 2 个数组分组?
【发布时间】:2017-10-24 04:32:14
【问题描述】:

你可以在下面看到我的案例

数组首先是这样的:

================================================ =======================

array:3 [▼
  0 => {#566 ▼
    +"id": 1
    +"name": "FIlZtX88m7B6mPykVjVUOEx652mSNP12H8u0yqBQ.jpeg"
  }
  1 => {#592 ▼
    +"id": 2
    +"name": "b85irPvb4HCtNlytddpC055UYkTA53qMNW4AldT3.png"
  }
  2 => {#593 ▼
    +"id": 3
    +"name": "CQSRte8sdcXEDSAodlT4MIJbnwHRqgMQpk7wzdjx.png"
  }
]

================================================ =======================

数组二是这样的:

================================================ =======================

  0 => array:2 [▼
    "id" => 1
    "name" => "jLKI9ySk58vGkdoIZEXVLHRMECCbRufhOlA0obrN.png"
  ]
  1 => array:2 [▼
    "id" => 2
    "name" => "o82KG04rqlBTFkqf4WraVE5Gj9rbL1TB6SNKDHyd.png"
  ]
]

================================================ =======================

我想将 2 个数组组合成这样:

================================================ =======================

array:3 [▼
  0 => {#566 ▼
    +"id": 1
    +"name": "FIlZtX88m7B6mPykVjVUOEx652mSNP12H8u0yqBQ.jpeg"
  }
  1 => {#592 ▼
    +"id": 2
    +"name": "b85irPvb4HCtNlytddpC055UYkTA53qMNW4AldT3.png"
  }
  2 => {#593 ▼
    +"id": 3
    +"name": "CQSRte8sdcXEDSAodlT4MIJbnwHRqgMQpk7wzdjx.png"
  }
  3 => {#594 ▼
    +"id": 4
    +"name": "jLKI9ySk58vGkdoIZEXVLHRMECCbRufhOlA0obrN.png"
  }
  4 => {#595 ▼
    +"id": 5
    +"name": "o82KG04rqlBTFkqf4WraVE5Gj9rbL1TB6SNKDHyd.png"
  }
]

================================================ =======================

能不能做到?

【问题讨论】:

  • 使用 array_merge($a, $b) php.net/manual/en/function.array-merge.php
  • @Captain,我知道。但这不是我的意思。你应该仔细阅读。我的情况有些不同。合并时查看 id。查看数组和结果的形式

标签: php arrays multidimensional-array merge


【解决方案1】:

试试这个,你可以计算出第二个数组 id 的偏移量。然后使用array_merge得到结果。

$offset = end($array1)->id;
array_merge($array1, array_map(function($v)use($offset){$v['id'] += $offset; return (object)$v;}, $array2));

【讨论】:

  • 似乎少了一个右括号
  • 存在错误Cannot use object of type stdClass as array。代码行错误$offset = end($array1)['id'];
  • 在这里打印你的数组。
  • 你现在可以查看了
  • 太棒了。有用。谢谢。对不起,我不能投票。因为我的名声还不到15岁,所以只能接受你的回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
  • 2014-03-11
  • 2013-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-17
相关资源
最近更新 更多