2017-01-26 3 views
0

Ich habe zwei verschiedene array für foreach loop, also entscheide ich mich, sie zu kombinieren und in foreach loop zusammen laufen, aber es gibt nur den letzten Wert des Arrays zurück.array_combine ist nur letzten Wert zurück

Array 1: $FileType

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

Array 2: $FileName

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

Das ist mein Code:

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

Es ist nur zurück letzte Wert

Return:

image/png:post11.png 

Antwort

2

, das nicht ist, wie array_combine funktioniert.

können Sie einfach

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

Unter der Annahme, beide Arrays tun, sind von gleicher Größe und gleichen Schlüssel

4

Sie nicht die gleichen Taste mehrmals in einem Array haben.

Tun Sie dies statt:

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

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

+0

ich korrigiert stehen: D +1 –

+0

tauschte ich den Dateinamen mit dem Dateityp, da die Dateinamen „zu sein scheinen“ einzigartig. Es ist leicht zu übersehen, da Variablen ähnlich benannt sind. – apokryfos

Verwandte Themen