明白数组和loop循环
针对简单的if相关判断我们做了一个阐述和初步学习,根据大家的需求,这次我们主要谈一下loop循环调用的事情。
首先呢,我们要理解数组,数组的定义我就懒得在这里说了,大家先去查一下相关资料。我只是做一个补充,让初学者更好理解。
数组呢,可以考虑成为一种序列,例如我们拿着一手好牌,扑克牌会有花色,有些扑克牌上有图画什么的。
数组也类似,数组也有代号,代号指向这个里面的内容。
例如我们有一个数组,$list=array('0'=>'这里是0号里面的内容','1'=>'这里表示1号里面的内容','2','3'……); //这句代码不规范,只做理解
上面这句代码,表示将$list这个变量赋值为一个数组,这个数组里面代号0里面的数据呢,就是“这里是0号里面的内容”,那么1,2……就不用说了。
这样我们怎么调用这里面的内容呢?
我们想要显示“这里表示1号里面的内容”这句,我们就直接使用$list['1']就好了,表示我要显示$list数组里面1号表示的内容。
这时候,我想很多看过我之前教程的朋友就会问,是不是那个表示是否登陆的全局变量也是一个数组呢?~
哈哈,加十分,鼓励你的细心“$_SGLOBAL['supe_uid']”这就是一个标准的数组元素啦,(我这样叫,哈哈,理解就好)
他表示全局数组$_SGLOBAL里面的表示登陆状态下uid的数字,如果不明白,参考一下第一讲就好了,再不理解的话,把kongkang当成火星人……
现在理解了这个数组的意思,我们再次拓展:
如果代号1里面的内容还是一个数组呢?
这样就引申出来一个数组套数组的东西,我们叫做二维数组,那么三维数组,四维等等你就理解了吧?
那么,发挥你的大脑判断,如果我要调用一个二维数组里面的某个变量值怎么做呢?
哇哈哈,你真是太有才了,那就是用两个中括号来表示:
$list['1']['username']这个就表示,数组$list下的1号(也是数组哦)元素下的,“username”号内容。
这时候,有朋友就问了,这个username也能作为一个代号么?
那么我就问,9527表示周星星的话,我们叫周星星,是不是也代表这个人呢?
所以,数组里面负责代号的部分,可以是数字或者是字符串,也就是说,username可以表示这个数组里面的某个代号,他的值可能就是kongkang。
如果你糊涂了,那就多看几次,慢慢理解,我理解这个东西也很头疼,毕竟当时很白,呵呵
更多关于数组的知识,还是需要你自己学习下
那么有了数组的概念,我们就可以看看模板里面loop这个标签怎么操作数组的了。
- <!--{loop $list $key $value}-->
- <li><a href="space.php?uid=$value[uid]">$value[username]</a></li>
- <!--{/loop}-->
上面这个例子就表示了一个最简单的用户列表的调用。
其中$list代表了一个二维数组,这个数组组成是这样的,首先:按照数字排序0号,1号,2号……
而每一个编号里面又是一个数组,这个数组就记录着每一个用户的信息,例如uid号,里面就记录着这个用户的id数字;username号,就代表这个用户的用户名是什么。
loop的意思,通过上面的例子,我们可以这样理解:
loop自动将数组$list分解,将按照$key(第一层代号,就是上面说的0,1,2……)的顺序,依次将每一个代号表示的数组调用出来,提供给loop里面的模板文件来使用。
每次调用出来的数组,自动赋值到$value里面(也就是说,刚才的代号0表示的数组,就直接把值赋给了$value),那么$value[uid]就表 示本次循环的用户的uid数字,而$value[username]就表示本次循环的用户的用户名咯。那么随着按照$key顺序的依次循环,里面 的<li><a href="space.php?uid=$value[uid]">$value[username]</a></li& gt;就被一次一次的显示出来,我们就看到了用户列表了。
现在我们就可以打开后台,看看那个数据调用的东西,原先那么神奇,现在是不是明白,模板部分要怎么写了?
就到这里,希望大家能有所领会,无论讲多少,最后还要动手你才能理解。
期待你做出来漂亮的模板,一些相关php的东西我将在讲解插件制作的时候再说,现在我们先把模板部分打好基础哦~~~
浙公网安备 33010602011771号