PHP遍历时怎么不让变量重复叠加?

子言 发布于 2015/12/01 20:32
阅读 1K+
收藏 0

想给自己的wordpress做一个下载模块,用到了wordpress的自定义字段,用自己仅仅知道的一点PHP知识写了一个输出函数,但是,在用foreach遍历分割后的字符时,变量$i一直在叠加,搞不定了,求助!

自定义字段内容:

百度云盘$RAR$作者不详$7.81G$分享密码:CHSJs|我是下载链接的标题|www.baidu.com
360云盘$7Z$佚名$2015年$7.21G$分享密码:CsSJs|我是下载链接的标题|www.baidu.com
百度云盘$ZIP$3.21G$分享密码:Cxshej|我是下载链接的标题|www.baidu.com

PHP函数


<?php
function the_download(){
	global $post;
	$d0= get_post_meta($post->ID,'download',true);
	if($d0){
		$d1=explode("\n",$d0);
		foreach($d1 as $d2){
			$d3=explode("|",$d2);
			$d4=explode('$',$d3[0]);
			echo '<li class="list"><div class="info">';
			foreach($d4 as $d5){	
			$i==0;
			$i++;
			echo '<span class="info-'.$i.'">'.$d5.'</span>';
			}
			echo '</div><div class="title"><a href="'.$d3[2].'">'.$d3[1].'</a></div></li>';
		}	
	}
}
?>


再细说下:


我想要的结果是


<li class="list">
	<div class="info">
		<span class="info-1">百度云盘</span>
		<span class="info-2">RAR</span>
		<span class="info-3">作者不详</span>
		<span class="info-4">7.81G</span>
		<span class="info-5">分享密码:CHSJs</span>
	</div>
	<div class="title">
	    <a href="www.baidu.com">我是下载链接的标题</a>
	</div>
</li>
<li class="list">
	<div class="info">
		<span class="info-1">360云盘</span>
		<span class="info-2">7Z</span>
		<span class="info-3">佚名</span>
		<span class="info-4">2015年</span>
		<span class="info-5">7.81G</span>
		<span class="info-6">分享密码:CHSJs</span>
	</div>
	<div class="title">
	    <a href="www.baidu.com">我是下载链接的标题</a>
	</div>
</li>
<li class="list">
	<div class="info">
		<span class="info-1">百度云盘</span>
		<span class="info-2">ZIP</span>
		<span class="info-3">7.81G</span>
		<span class="info-4">分享密码:CHSJs</span>
	</div>
	<div class="title">
	    <a href="www.baidu.com">我是下载链接的标题</a>
	</div>
</li>


结果解析出来的是



<li class="list">
	<div class="info">
		<span class="info-1">百度云盘</span>
		<span class="info-2">RAR</span>
		<span class="info-3">作者不详</span>
		<span class="info-4">7.81G</span>
		<span class="info-5">分享密码:CHSJs</span>
	</div>
	<div class="title">
	    <a href="www.baidu.com">我是下载链接的标题</a>
	</div>
</li>
<li class="list">
	<div class="info">
		<span class="info-6">360云盘</span>
		<span class="info-7">7Z</span>
		<span class="info-8">佚名</span>
		<span class="info-9">2015年</span>
		<span class="info-10">7.81G</span>
		<span class="info-11">分享密码:CHSJs</span>
	</div>
	<div class="title">
	    <a href="www.baidu.com">我是下载链接的标题</a>
	</div>
</li>
<li class="list">
	<div class="info">
		<span class="info-12">百度云盘</span>
		<span class="info-13">ZIP</span>
		<span class="info-14">7.81G</span>
		<span class="info-15">分享密码:CHSJs</span>
	</div>
	<div class="title">
	    <a href="www.baidu.com">我是下载链接的标题</a>
	</div>
</li>


注意class中的数字部分!求助!!!


加载中
0
无尽的折腾啊
无尽的折腾啊
$i==0;   这用来干嘛的?



0
子言
子言

引用来自“无尽的折腾啊”的评论

$i==0;   这用来干嘛的?



谢谢,这个是用来计数的,向class添加顺序。 那几个<span>在前端显示使会显示不同的背景色的。
0
无尽的折腾啊
无尽的折腾啊
还没想通么,一直在循环里 怎么重置呢? 放外面呗。还有我刚才说的。。
0
seedo
seedo

$i==0;

==是比较,=是赋值。。。。

0
seedo
seedo

引用来自“seedo”的评论

$i==0;

==是比较,=是赋值。。。。

另外在foreach($d4这个前面放$i=0。而不是在中间放$i==0
子言
子言
回复 @无尽的折腾啊 : 嗯 ,谢谢。搞定了。原来是基础性错误。
无尽的折腾啊
无尽的折腾啊
简单明了
0
子言
子言

引用来自“seedo”的评论

$i==0;

==是比较,=是赋值。。。。

谢谢,谢谢!基础性错误。
0
子言
子言

引用来自“seedo”的评论

$i==0;

==是比较,=是赋值。。。。

引用来自“seedo”的评论

另外在foreach($d4这个前面放$i=0。而不是在中间放$i==0
嗯  是的,搞定了。谢谢~
0
子言
子言

引用来自“无尽的折腾啊”的评论

还没想通么,一直在循环里 怎么重置呢? 放外面呗。还有我刚才说的。。
搞定了。谢谢~~~
返回顶部
顶部