array_combine仅返回最后一个值

时间:2017-01-26 07:40:39

标签: php arrays foreach

array我有两个不同的foreach loop所以我决定将它们组合起来并一起运行到foreach loop,但它只返回数组的最后一个值。

数组1:$FileType

Array
(
    [0] => image/png
    [1] => image/png
    [2] => image/png
    [3] => image/png
    [4] => image/png
    [5] => image/png
)

数组2:$FileName

Array
(
    [0] => post2.png
    [1] => post5.png
    [2] => post6.png
    [3] => post7.png
    [4] => post8.png
    [5] => post11.png
)

这是我的代码:

foreach(array_combine($FileType,$FileName) as $Type => $Name){
                echo $Type .":". $Name;
            }

它只返回最后一个值

返回:

image/png:post11.png

2 个答案:

答案 0 :(得分:4)

您不能在阵列中多次使用相同的密钥。

请改为:

foreach (array_combine($FileName, $FileType) as $Name => $Type) {
       echo $Type .":". $Name;
}

答案 1 :(得分:2)

这不是array_combine的工作方式。

你可以简单地做

  foreach($FileName as $id=>$Name)
  {
      echo $FileType[$id] .":". $Name;
  }

假设两个阵列大小相同且密钥相同