2017-08-20 12 views
0

私はここで、テーブル<tr><td> を印刷するループは私のコードで作られています、$ iが0であるときの条件$i % 4== 0が真であるため、ループ内で最初のif文をスキップするにはどうすればよいですか?

echo "<tr>"; 
for($i = 0; $i < (int)count($fieldvalues); $i++){ 
echo "<td>" . $fieldvalues[$i] . "</td>"; 
if($i % 4 == 0){ 
echo "<td><input type='text'></td><td><input type='submit' 
value='Add to cart'></td></form></tr>"; 
       } 
} 

私はループで最初のifのステートメントをスキップしたいこと0 % 4 == 0です。$fieldvaluesの値は8です。これを克服する他の方法は、非常に高く評価されています。

+0

'場合になります。このあなたの最初の反復をスキップループにループ

if($i == 0) continue; 

のための出発で

をこのコードを追加します。 (式)continue; ' – samayo

+0

loop-ifの問題とは別に、最後のtdを持たないtdタグのcolspanの問題を解決します。 – Lee

+0

は「

」タグなし、1つは「」、_zero_、1つまたは_many_の可能性は「」および「
」タグは問題を尋ねています –

答えて

2

条件式に0がないことを確認します。

if(!empty($i) && $i % 4 == 0){ 

または

if($i != 0 && $i % 4 == 0){ 

また、私はむしろforよりforeachを使用すると思います。

デモ:https://3v4l.org/bG2NS

+0

'if(!$ i && ....' 0と比較する必要はありませんか、それが空であれば – Andreas

+1

@Andreas Yea、私は書かれた方が好きです、 '!= 0'は、開発者が何を期待しているか分かりやすいです。警告が表示されますが、 'for'では' $ i'が常に設定されるので、私は必要ないと思います。 – chris85

1

あなたのコードが

echo "<tr>"; 
for($i = 0; $i < (int)count($fieldvalues); $i++){ 
if($i == 0) 
    continue; 
echo "<td>" . $fieldvalues[$i] . "</td>"; 
if($i % 4 == 0){ 
echo "<td><input type='text'></td><td><input type='submit' 
value='Add to cart'></td></form></tr>"; 
       } 
} 
関連する問題