2016-06-23 9 views
1

変数を使ってうまく動作し、関連する一致をXML出力に表示する以下のforループがあります。私は最初の一致(例として_1.jpg)を表示するだけで、ループスルーして、$pic_count全体を表示します。私はなど++を除去しても!= ><= $pic_countに数学を変更できます試してみた1の値の後にPHP forループが停止する

どのように私はちょうど1の$pic_start値を表示し、forループを終了しますか?

for ($pic_start = 1; $pic_start <= $pic_count; $pic_start++) 
{ 
    echo '<photo isMain="1"><photoSmall><![CDATA[/feeds/' . $img . '/rets_images/' . $listing . '_' . $pic_start . '.jpg]]></photoSmall><photoLarge><![CDATA[/feeds/' . $img . '/rets_images/' . $listing . '_' . $pic_start . '.jpg]]></photoLarge></photo>'; 
} 
+1

'$ pic_start = 1; echo ... 'remove loop at all – splash58

+0

一度だけ実行したいのであれば、なぜループを邪魔するのでしょうか? –

答えて

2

ちょうどループの最後でbreak;を置きます。 、または スイッチ構造-しばらく操作を行いながら、だからあなたのコードは次のようになります、

for ($pic_start = 1; $pic_start <= $pic_count; $pic_start++) 
{ 
echo '<photo isMain="1"><photoSmall><![CDATA[/feeds/' . $img . '/rets_images/' . $listing . '_' . $pic_start . '.jpg]]></photoSmall><photoLarge><![CDATA[/feeds/' . $img . '/rets_images/' . $listing . '_' . $pic_start . '.jpg]]></photoLarge></photo>'; 
break; // will execute loop only once. 
} 

ブレークは、foreachの、のために現在の実行を終了します。当社は、特定の条件でループを破るためにブレークコマンドを使用し

、あなたのケースで私たちは非常に最初の実行後にループを切断する必要があります。だから、ループの最後にそれを入れてください。

+0

良い説明、ありがとう。 –

1

ちょうどあなたのループでブレークを使用します。これは、最初の反復後のループを中断します

for ($pic_start = 1; $pic_start <= $pic_count; $pic_start++) 
{ 
    echo ...; 
    break; 
} 

$stop_value = 2; 
for ($pic_start = 1; $pic_start <= $pic_count; $pic_start++) 
{ 
    if ($pic_start == $stop_value) { 
     break; 
    } 
    echo '<photo isMain="1"><photoSmall><![CDATA[/feeds/' . $img . '/rets_images/' . $listing . '_' . $pic_start . '.jpg]]></photoSmall><photoLarge><![CDATA[/feeds/' . $img . '/rets_images/' . $listing . '_' . $pic_start . '.jpg]]></photoLarge></photo>'; 
} 
1

はこれを試してみてください。 しかし、この場合、最初にforループを使用するのはなぜですか?

関連する問題