2017-01-26 3 views
0

У меня есть два разных array для foreach loop, поэтому я решил объединить их и запустить в foreach loop вместе, но он возвращает только последнее значение массива.array_combine возвращает только последнее значение

Массив 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

Это не как array_combine работы.

Вы можете просто сделать

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

Предполагая, что оба массива имеют одинаковый размер и те же ключи

4

Вы не можете иметь одни и те же клавишу несколько раз в массиве.

ли это вместо:

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

@HankyPanky https://eval.in/724548 – apokryfos

+0

я исправлюсь: D +1 –

+0

Я сменил имя файла с типом файла, так как имена файлов «как представляется,» уникальным. Легко пропустить, поскольку переменные аналогично называются. – apokryfos

 Смежные вопросы

  • Нет связанных вопросов^_^