如何将两个不同长度的数组组合成一个关联的多维数组?

How to combine two arrays of different length into an associative multidimensional array?

我有 2 个数组,它们由 explode() 函数生成。

这个数组:

Array ( 
        [0] => uploads/str/evidence/Invoice_INVCZ769885.pdf
        [1] => uploads/str/evidence/keputusantahun1.pdf 
        [2] => uploads/str/evidence/permohonan.pdf 
        [3] => uploads/str/evidence/Invoice_INVCZ7698851.pdf 
        [4] => uploads/str/evidence/keputusantahun11.pdf 
        [5] => uploads/str/evidence/permohonan1.pdf 
        [6] => uploads/str/evidence/Invoice_INVCZ7698852.pdf 
        [7] => uploads/str/evidence/Invoice_INVCZ7698853.pdf 
        [8] => uploads/str/evidence/keputusantahun12.pdf 
    )

和这个数组:

Array ( 
        [0] => Invoice_INVCZ769885.pdf 
        [1] => Invoice_INVCZ769885.pdf 
        [2] => Invoice_INVCZ769885.pdf 
        [3] => Invoice_INVCZ769885.pdf 
        [4] => Invoice_INVCZ769885.pdf 
        [5] => Invoice_INVCZ769885.pdf 
        [6] => Invoice_INVCZ769885.pdf 
        [7] => Invoice_INVCZ769885.pdf 
)

我的问题是如何将这些数组合并到这个数组中:

Array (
    [imgs] =>
        Array(
            [img] => uploads/str/evidence/Invoice_INVCZ769885.pdf,
            [file] => Invoice_INVCZ769885.pdf
        ),
    [imgs] =>
        Array(
            [img] => uploads/str/evidence/Invoice_INVCZ769885.pdf,
            [file] => Invoice_INVCZ769885.pdf
        ),
)

您的数组大小不匹配。我不知道这是否是一个发布错误,但我已经调整了我的代码以适应问题中的字面意思。如果您的数组 实际上 大小均匀,那么我可以将我的编辑回滚到我第一个发布的答案。

输入:

$a1=[
     'uploads/str/evidence/Invoice_INVCZ769885.pdf',
     'uploads/str/evidence/keputusantahun1.pdf',
     'uploads/str/evidence/permohonan.pdf', 
     'uploads/str/evidence/Invoice_INVCZ7698851.pdf', 
     'uploads/str/evidence/keputusantahun11.pdf', 
     'uploads/str/evidence/permohonan1.pdf', 
     'uploads/str/evidence/Invoice_INVCZ7698852.pdf', 
     'uploads/str/evidence/Invoice_INVCZ7698853.pdf', 
     'uploads/str/evidence/keputusantahun12.pdf'
    ];
$a2=[
     'Invoice_INVCZ769885.pdf',
     'Invoice_INVCZ769885.pdf',
     'Invoice_INVCZ769885.pdf', 
     'Invoice_INVCZ769885.pdf', 
     'Invoice_INVCZ769885.pdf', 
     'Invoice_INVCZ769885.pdf', 
     'Invoice_INVCZ769885.pdf', 
     'Invoice_INVCZ769885.pdf'
    ];

方法(Demo):

foreach($a1 as $i=>$v){
    $result['imgs'][$i]['img']=$v;
    if(isset($a2[$i])){$result['imgs'][$i]['file']=$a2[$i];}
}

var_export($result);

输出:

array (
  'imgs' => 
  array (
    0 => 
    array (
      'img' => 'uploads/str/evidence/Invoice_INVCZ769885.pdf',
      'file' => 'Invoice_INVCZ769885.pdf',
    ),
    1 => 
    array (
      'img' => 'uploads/str/evidence/keputusantahun1.pdf',
      'file' => 'Invoice_INVCZ769885.pdf',
    ),
    2 => 
    array (
      'img' => 'uploads/str/evidence/permohonan.pdf',
      'file' => 'Invoice_INVCZ769885.pdf',
    ),
    3 => 
    array (
      'img' => 'uploads/str/evidence/Invoice_INVCZ7698851.pdf',
      'file' => 'Invoice_INVCZ769885.pdf',
    ),
    4 => 
    array (
      'img' => 'uploads/str/evidence/keputusantahun11.pdf',
      'file' => 'Invoice_INVCZ769885.pdf',
    ),
    5 => 
    array (
      'img' => 'uploads/str/evidence/permohonan1.pdf',
      'file' => 'Invoice_INVCZ769885.pdf',
    ),
    6 => 
    array (
      'img' => 'uploads/str/evidence/Invoice_INVCZ7698852.pdf',
      'file' => 'Invoice_INVCZ769885.pdf',
    ),
    7 => 
    array (
      'img' => 'uploads/str/evidence/Invoice_INVCZ7698853.pdf',
      'file' => 'Invoice_INVCZ769885.pdf',
    ),
    8 => 
    array (
      'img' => 'uploads/str/evidence/keputusantahun12.pdf',
    ),
  ),
)