2016-03-20 17 views
0

yapmam bir i çalıştırdığınızda kontrol için benim foreach ilk satırında ama, yankı 3 kez aynı şeyForeach ile eğer tekrar sonuçları

foreach ($fotoscards as $fotos) { 
       $i == 1; 
       if ($i == 1) { 

        echo "[{image:", $fotos , '},'; 
        $i++; 

       } 
       else echo '{image:', $fotos , '},'; 
        $i++; 


      } 

Ve alıyorum çıktı gösteriyorsa:

Ben çıkışı istiyorum
{image:pics/570212366814_1008100572561339_77379992_n3.jpg}, 
[{image:pics/570212366814_1008100572561339_77379992_n3.jpg}, 
{image:}, 
{image:pics/570212366814_1008100572561339_77379992_n3.jpg}, 
{image:}, 
{image:pics/655210502212_694548387334477_1457367303128125710_n.jpg}, 
{image:pics/570212366814_1008100572561339_77379992_n3.jpg}, 
{image:}, 
{image:pics/655210502212_694548387334477_1457367303128125710_n.jpg}, 
{image:pics/154212308582_908192572599216_6538482440643426144_n.jpg}, 
{image:pics/570212366814_1008100572561339_77379992_n3.jpg}, 
{image:}, 
{image:pics/655210502212_694548387334477_1457367303128125710_n.jpg}, 
{image:pics/154212308582_908192572599216_6538482440643426144_n.jpg}, 
{image:}, 
{image:pics/570212366814_1008100572561339_77379992_n3.jpg}, 
{image:}, 
{image:pics/655210502212_694548387334477_1457367303128125710_n.jpg}, 
{image:pics/154212308582_908192572599216_6538482440643426144_n.jpg}, 
{image:}, 
{image:}, 
{image:pics/570212366814_1008100572561339_77379992_n3.jpg}, 
{image:}, 
{image:pics/655210502212_694548387334477_1457367303128125710_n.jpg}, 
{image:pics/154212308582_908192572599216_6538482440643426144_n.jpg}, 
{image:}, 
{image:}, 
{image:pics/7593uphol1.jpg}, 

şunlardır:

[{image:pics/570212366814_1008100572561339_77379992_n3.jpg}, 
{image:pics/655210502212_694548387334477_1457367303128125710_n.jpg}, 
{image:pics/154212308582_908192572599216_6538482440643426144_n.jpg}, 
{image:pics/7593uphol1.jpg}, 

cevap

0

Sen foreach döngüsünde önce ilk braket yazdırarak kodu kolaylaştırabilirsiniz:

 echo '['; 
     foreach ($fotoscards as $fotos) { 
      echo "{image:', $fotos , '},'; 
     } 
1

Sen 2. hatta 1'e sizin $i değişken ayarlama değiliz seni ilan veya $i başka bir yerde, başka bir ifadesi uygulandıktan ayarlamadıysanız varsayalım olduğundan, 1. karşılaştırarak ediyoruz. Yani çizgi 2, üzerinde

$i == 1; 

$i = 1; 
0

Senin sorunun bu değer her tekrarda 1 tekrar ayarlanır, böylece hangi $i sayaç değişkeni içerdeki for döngü set olmasıdır olmalıdır. Bir kez for döngüsünden önce bildirmeniz gerekir.

Başka bir sorun, else ifadeleriniz, parantez içine alınmaması nedeniyle ikinci $i++ numaralı telefonunuz if geçerken bile yürütülür. Bu sadece bir tane istediğinizde iki kez $i++. Harici sayaç istemiyorsanız

$i = 1; 
foreach ($fotoscards as $fotos) { 
    if ($i == 1) { 
     echo "[{image:", $fotos , '},'; 
     $i++; 
    } 
    else { 
     echo '{image:', $fotos , '},'; 
     $i++; 
    } 
} 

kullanabileceğiniz

for ($i = 0; $i < count($fotoscards); $i++) { 
    if ($i == 0) { 
     echo "[{image:", $fotoscards[$i], '},'; 
     $i++; 
    } 
    else { 
     echo '{image:', $fotoscards[$i], '},'; 
     $i++; 
    } 
} 
+0

tüm çalışıyorum, ama çıkış devam eder: [{image: resimler/570212366814_1008100572561339_77379992_n3.jpg}, [{image: res /570212366814_1008100572561339_77379992_n3.jpg}, [{resim resimler/570212366814_1008100572561339_77379992_n3.jpg}, {resim resimler/655210502212_694548387334477_1457367303128125710_n.jpg}, [{resim resimler/570212366814_1008100572561339_77379992_n3.jpg}, {resim resimler/655210502212_694548387334477_1457367303128125710_n.jpg}, [{ resim: resimler/570212366814_1008100572561339_77379992_n3.jpg}, {image: resimler/655210502212_694548387334477_1457367303128125710_n.jpg}, {im age:}, –

+0

Aslında kodunuzu benimkiyle mi değiştirdiniz? Hatanız açık. – PinkTurtle

+0

'$ fotoscards'ın içeriği nedir? Lütfen sorunuzu güncelleyin. – PinkTurtle