【问题标题】:Change index array in PHP, laravel [closed]在 PHP,laravel 中更改索引数组 [关闭]
【发布时间】:2020-12-15 09:20:27
【问题描述】:

我有一个数组,下面相同,有二维,索引 0 和 1,但我想用第二个数组获取新数组。

我的数组:

array:2 [▼
      0 => array:1 [▼
        "fileupload[0]" => Illuminate\Http\UploadedFile {#313 ▶}
      ]
      1 => array:1 [▼
        "fileupload[1]" => Illuminate\Http\UploadedFile {#317 ▶}
      ]
    ]

我的预期结果是这样的:

array:2 [▼
    "fileupload[0]" => Illuminate\Http\UploadedFile {#313 ▶}
    "fileupload[1]" => Illuminate\Http\UploadedFile {#317 ▶}
]

所以请分享我获得预期结果的方法。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    可以使用collection方法collapse

    $flattenedArray = collect($myArray)->collapse()->all();
    

    【讨论】:

    • @Rajes 很高兴我能帮上忙。为了后续访问者的利益,请记住将答案标记为已接受。
    • 虽然这个答案是正确的,但我建议@Rajes 也学习,如何在普通 php 中做这样的事情,因为数组处理是基本的
    • @kuh-chan 对不起,我是 php 新手,对数组的经验也较少
    【解决方案2】:

    您创建的数组不正确。默认情况下会创建索引 0 和 1,因为您没有定义数组的索引。

    所以你需要做的是定义你的数组的索引,像这样:

    $array = [
        "fileupload[0]" => Illuminate\Http\UploadedFile {#313 ▶}
        "fileupload[1]" => Illuminate\Http\UploadedFile {#317 ▶}
    ];
    

    你不应该做的事情:

    $array = [
        // Will create the 0 index by default
        [
            "fileupload[0]" => Illuminate\Http\UploadedFile {#313 ▶}
        ]
    
        // Will create the 1 index by default
        [
            "fileupload[1]" => Illuminate\Http\UploadedFile {#317 ▶}
        ]
    ];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-14
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      相关资源
      最近更新 更多