Maison  >  Article  >  développement back-end  >  php 两层foreach循环怎么给里层循环变量设置初始值=0

php 两层foreach循环怎么给里层循环变量设置初始值=0

WBOY
WBOYoriginal
2016-06-13 12:01:371073parcourir

php 两层foreach循环如何给里层循环变量设置初始值=0
$question): ?>
                               $answer): ?>
                              



如何在里层循环完之后  第二次里层循环时让$i的值从0开始,而不是接着上次循环的值继续
------解决方案--------------------
不明白你的意思,举例说明。或者说明一下你想怎样输出。
------解决方案--------------------

引用:
Quote: 引用:

不明白你的意思,举例说明。或者说明一下你想怎样输出。

需求是这样的     一个问题下面好几个选项      问题跟选项是一对多的关系  我写了两个foreach循环 数据能读出来,
比如 问题1   下面选项是   1.选项a  2.选项b   问题2  下面选项是1.选项c   2.选项d      这里选项的题号 我想用$i来做,但是两个foreach之后    问题2的选项的题号是从3开始的


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


Q1
option1 选项a
option2 选项b

Q2
option1 选项c
option2 选项d

Q3
option1 选项e
option2 选项f

------解决方案--------------------
#3 代码
第8行改为 
第14行改为 

内层每次都要遍历 $answers 数组,而只取少量数据
有点得不偿失,建议调整一下数据组织方式(参考#4)

当然也可以在主循环开始前先对 $answers 做聚类处理
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn