簡體   English   中英

將兩個 arrays 合並為一個 Laravel PHP

[英]merge two arrays into one Laravel PHP

您好,我正在使用 laravel 中的 collections 和 arrays ,現在我遇到以下問題:在對數據集合進行分組后,結果如下:

    [
          [
             {
                "id":1,
                "number":1,
                "name":"ACTIVO",
                "type":1
             },
             {
                "id":2,
                "number":101,
                "name":"ACTIVO CORRIENTE",
                "type":1
             },
          ],
          [
             {
                "id":7,
                "number":2,
                "name":"PASIVO",
                "type":2
             }
          ]
       ]

我的問題是如何刪除(或加入)內部 arrays 並留下一個數組,如下所示

    [
        {
            "id":1,
            "number":1,
            "name":"ACTIVO",
            "type":1
        },
        {
            "id":2,
            "number":101,
            "name":"ACTIVO CORRIENTE",
            "type":1
        },
        {
            "id":7,
            "number":2,
            "name":"PASIVO",
            "type":2
        }
   ]

知道我該怎么做嗎?

$yourArray = json_decde('[[{"id":1,"number":1,"name":"ACTIVO","type":1},{"id":2,"number":101,"name":"ACTIVO CORRIENTE","type":1}],[{"id":7,"number":2,"name":"PASIVO","type":2}]]', true);

$result = \array_merge(...$yourArray);

... - 解壓所有內部 arrays,因為array_merge接受 arguments 的可變數字。 所以基本上,您將每個內部數組作為 array_merge 的單獨參數傳遞。 在此處閱讀有關 arrays 開箱的更多信息。

json 字符串示例: http://sandbox.onlinephpfunctions.com/code/3f81e329250f7d4974c38453d024c320096d3f4c

根據您的數據集,這應該可以解決問題:

解決方案1:

展平()

flatten方法將多維集合展平為一維:

collect($data)->flatten(1)->all();

解決方案2:

坍塌()

collapse方法將 arrays 的集合折疊為單個平面集合:

collect($data)->collapse()->all();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM