ホームページ >バックエンド開発 >PHPチュートリアル >PHP の 2 レベルの foreach ループで内側のループ変数に初期値 = 0 を設定する方法

PHP の 2 レベルの foreach ループで内側のループ変数に初期値 = 0 を設定する方法

WBOY
WBOYオリジナル
2016-06-23 13:54:071224ブラウズ

70a0b908e06bd86d0468d3be893740b8 ?>



ディスカッションへの返信 (解決策)

何を言っているのかわかりません。例。または、出力方法を説明します。

何を言っているのか分かりません、例を挙げてください。または、出力方法を説明します。

要件は次のようになります。 1 つの質問の下に複数のオプションがあり、データを読み取れるように 2 つの foreach ループを作成しました。質問 1 では、以下の選択肢は 1. 選択肢 a 2. 選択肢 b 質問 2 次の選択肢は 1. 選択肢 c 2. 選択肢 d ここでの選択肢の質問番号 $i を使用して実行したいのですが、2 つ後にforeach、質問 2 の選択肢の質問番号は 3 から始まります

<?php foreach($questions as $k=>$question): ?>	        		<dl>		            	<dt class="knowledge_problem"><i><?php echo $k+1 ;?>.</i><span><?php echo $question['a']['question']; ?></span></dt>		                <dd>		            	<input type="hidden" id="<?php echo 'num'.($k+1) ;?>" name="<?php echo 'num'.($k+1) ;?>" value="<?php echo $question['a']['ID']; ?>"/>		                	<div class="answer clearfix">		                    	<ul>			                    	<?php foreach($answers as $i=>$answer): ?>			                     		<?php if($question['a']['ID'] == $answer['b']['idw_questions']): ?>				                        	<li class="<?php echo 'num0'.($i+1) ?>">				                            	<input type="radio" name="<?php echo $k+1 ?>" id="<?php echo $answers[$i]['b']['ID']; ?>"  value="<?php echo $answers[$i]['b']['ID']; ?>">				                				<label for="<?php echo $answer['b']['ID']; ?>"><?php echo $answer['b']['answer']; ?></label>				                            </li>										<?php endif ;?>			                        <?php endforeach; ?>		                        </ul>		                    </div>		                </dd>	        	    </dl>				<?php endforeach; ?>


No 意味を理解し、例を挙げてください。または、出力方法を説明します。
要件は次のようになります。 1 つの質問の下に複数のオプションがあり、データを読み取れるように 2 つの foreach ループを作成しました。質問 1 では、以下の選択肢は 1. 選択肢 a 2. 選択肢 b 質問 2 次の選択肢は 1. 選択肢 c 2. 選択肢 d ここでの選択肢の質問番号 $i を使用して実行したいのですが、2 つ後にforeach、質問 2 の選択肢の質問番号は 3 から始まります

<?phpecho '<meta http-equiv="content-type" content="text/html;charset=utf-8">';$questions = array(    '问题1',    '问题2',    '问题3');$answers = array(    array('选项a','选项b'),    array('选项c','选项d'),    array('选项e','选项f'));foreach($questions as $k=>$question){    echo 'Q'.($k+1).'<br>';    foreach($answers[$k] as $i=>$answer){        echo 'option'.($i+1).' '.$answer.'<br>';    }    echo '<br>';}?>

Q1
option1 選択肢 a

選択肢 2 選択肢 b

Q2 選択肢 1 選択肢 c
選択肢 2 選択肢 d

Q3
選択肢 1 選択肢 e
オプション2 オプションf

#3 コード
8 行目は 7429924679ecb95e7db49702ed625f12
14 行目は db808415af103a62ae8960d0b4583eb6

内部層は毎回 $answers 配列を走査する必要があり、少量のデータのみを取得する必要があります
それは少し損失です、データ編成方法を調整することをお勧めします (参考 #4)

もちろん、メインループを開始する前に $answers をクラスター化することもできます
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。