2017-05-24 8 views
1

2つのアレイをどのようにグループ化できますか?

配列が最初にこのようなものです下回っあなたは私の場合を見ることができます:

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

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

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

配列2は、このようなものです:

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

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" 
    } 
] 

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

できますか?

+0

使用array_merge($、$ b)はhttp://php.net/manual/en/function.array-merge.php – Gihan

+0

@Captain、私はそれを知っています。しかし、それは私が意味するものではありません。注意深くお読みください。私の場合はやや異なっています。マージ時にidを参照してください。配列と結果の両方の形式を参照してください –

答えて

1

これを試して、2番目の配列のidのオフセットを計算することができます。次に、array_mergeを使用して結果を取得します。

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

これは閉じ括弧が少ないようです –

+0

ええ、あなたは正しいです。私は今それをeidt。 –

+0

'' stdClass型のオブジェクトを配列として使用できません。 'というエラーがあります。コード行 '$ offset = end($ array1)['id']; ' –

関連する問題