ホームページ >バックエンド開発 >PHPチュートリアル >foreach を使用して 2 次元配列をループした後の関連問題
foreach を使用して 2 次元配列をループした後の問題
2 回ループすると 2 回目のループが表示されませんが、1 回目のループをコメントアウトすると 2 回目のループの内容が正常に表示されます。
どれですか、お友達が理由を知っていたら教えてください、ありがとうございます。
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> $products2 = array( array('名称' => '苹果','数量' => 6,'单价' => 12.2), array('名称' => '香蕉','数量' => 2,'单价' => 15.1), array('名称' => '西瓜','数量' => 3,'单价' => 25.3) ); //循环一 for ($i1=0;$i1<count($products2);$i1++) { foreach ($products2[$i1] as $myvalues) { echo $myvalues.'|'; } echo '<br />'; } //循环二 // reset($products2); 就算加上重设指针,下面的循环还是显示不出来,但是如果把循环一注释掉的话,循环二就能正常显示了,哪位朋友知道原因的请告诉一下,谢谢了! for ($i2=0;$i2<count($products2);$i2++) { while (!!list($var1,$var2) = each($products2[$i2])) { echo $var1.'-----'.$var2.'|'; } echo '<br />'; }
<?php $products2 = 配列( array('名前' => 'リンゴ', '数量' => 6, '単価' => 12.2), array('名前' => 'バナナ', '数量' => 2, '単価' => 15.1), array('名前' => 'スイカ', '数量' => 3, '単価' => 25.3) ); // ループ 1 for ($i1=0;$i1<count($products2);$i1++) { foreach ($products2[$i1] as $myvalues) { echo $myvalues.'|'; reset($products2[$i1]);//この文を追加するだけです。reset($products2) の代わりに、reset($products2[$i1]) を使用する必要があります。 } echo '<br />'; } // ループ 2 for ($i2=0;$i2<count while each echo><div class="clear"></div></count>