php中while循环问题

php中while循环能不能实现这样的情况:

--------------------------------以下为想要实现的形式---------------------------------

外循环文章(1)
内循环文章(1)
内循环文章(2)
内循环文章(3)
外循环文章(2)

外循环文章(3)

外循环文章(4)

......
--------------------------------以上为想要实现的形式---------------------------------
不知道这种形式能不能实现,能的话要怎么实现,谢谢了!

很简单,就是循环里面,加个判断,然后嵌套循环

例如

$i=1;
while($i<10){
echo "外循环文章(".$i.")";
if($i=='1'){

$j=1;
while($j<4){
echo "内循环文章(".$j.")";
$j++;
}

}
$i++;
}

希望能够帮到你追问

16行代码怎么弄都提示内容太长了.....

我截图上来你帮忙看一下吧


追答

Wordpress啊,这个还真不熟啊

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-09-26
你这应该是调用栏目吧,这种情况一般用递归函数,如下
$article = array('外1'=>array('内1','内1'),'外2','外3');
$len = count($article);

function nav($article){
if(is_array($article)){
foreach($article as $key=>$val){
if(is_array($val)){
echo $key . '<br />';
nav($val);
}else{
echo $val . '<br />';
}
}
}
}

nav($article);
用while虽然可以实现,但不如递归函数函数好,而且容易改动追问

是在wordpress里用的,我的代码不知道哪里有问题,想要实现的内容也会显示,只是外循环1跟内循环会重复一次才会正常显示,实在纠结......代码见下图:

追答

重复一次说明那一块就多执行一次,看看你的代码有没有重复执行的

第2个回答  2014-09-26
foreach($arr1 as $k=>$v){
echo $v['name'];

foreach($v as $key=>$value){
echo $value['name'];
}
}
第3个回答  2014-09-26
while 循环里嵌套循环 可以实现
第4个回答  2014-09-26
有点不解,你的内循环跟外循环什么关系

PHP,while死循环,求高手指教
while(!feof($file));这行最后面的分号应该删掉。分号代表一条语句结束,这样下面的花括号内的代码块就与while语句无关了,那么while(!feof($file));就相当于 while(!feof($file)){} 这不就是死循环吗?

PHP中的while循环条件是什么意思?
一般的写法是:while($re=mysql_fetch_array($result)){ \/\/执行操作 }

php的while{...}问题
while($a>4){ echo "循环".--$a;} ?> ++表自身加1,--表自身减1,如果是++的话,$a的值从5开始依次自增1,永远大于4,死循环了。另外--(++)放前面表示先自减(自增),再进行其他操作

php 高手进~ 关于 do-while 循环的问题~`
新加个变量 i , do-while 循环一次,i=i+1; 当地i=10时,就换行.

PHP中的while循环条件是什么意思?
while($r=mysql_fetch_array($result))这里面,while括号中为真时就执行。这里是循环MYSQL中取出来的记录集。也就是说$r=mysql_fetch_array($result)是成立的时候就执行。当记录循环完成$r=mysql_fetch_array($result)自然就不成立了,所以会跳出while语句 ...

php while语句出现无限循环 如何解决?
mysql_fetch_array() 函数的功能是:从数据库结果集中取得一行数据,并作为数组形式返回结果。如果取得数据正确,返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。你上面的代码中,取了一行记录,其后的 while 以其结果为循环条件,而这个循环条件在其后的循环体中,没有再次进行更新,...

php中关于while循环的条件
首先 mysql_fetch_array是将结果集中 一行 转换为数组,同时将指针移到下一行。第一种你直接在循环外面执行后赋值给$rs,这样的话,$rs是一个固定的值:第一行数据,这样你下面的循环是个死循环,并且都是都一条数据。第二种,你把这个方法作为while循环的条件,那么每次循环的时候它返回的都是下...

php中for\/while\/do-while循环打印九九乘法表
第一步打开EasyEclipse for PHP软件。 会使用的直接复制下面代码,新建一个file.php好后,输入下面提供的代码。使用while循环输出9*9乘法口诀 ?php $i=1; \/\/使用while循环输出9*9乘法口诀 while($i=9) {   $j=1; while($j=$i) { echo "$j*$i=".$j*$i."...

php菜鸟求助 这个循环为什么输出这么多个2
内层while循环中的$chushu++应写在if表达式的外面,写在break后面是永远不会执行的;由于$i和$chushu的值都为2,根据方框2中的代码可知,方框1中的代码永远不会执行,由于$suchu的值为true,所以程序会陷入死循环,不停的输出$i的初值:2;3、$i++应写在外层while循环里面。如有问题,欢迎追问。

小白求问,php里用while遍历mysql获得的值,为什么放到全局变量里就没法用...
应该是你往全局里放的时候,没有用数组的格式存入吧 global=[];arr=[1,2,3,4,5,6];foreach($arr as $item){ global['data'][]=$item; \/\/注意这个 []} var_export($global);如果你需要的是拼接的结果,可以用 .= x .= $row['id'];这样就把结果拼接在一起了(注意这样中间没有...

相似回答