phpcms里面的变量、数组命名规范已经做得非常规范了,但是,由于开发团队成员毕竟良莠不齐,或许因为其他原因造成我们对其中一些变量、数组等会产生误解,合肥笑缘信息技术有限公司专业做合肥网站建设,写此文章一做笔记,二给后来学习的人减少一些学习上绕的弯路,闲话少说,开始正题.
$arrchild_arr 数组,保存当前栏目下所有的子栏目,var_dump($arrchild_arr)的结果为:
- array
- 0 => string '21' (length=2)
- 1 => string '5' (length=1)
- 2 => string '6' (length=1)
其中,键0,1,2是数组的序号,值21、5、6就是子栏目的catid咯,$child 变量、布尔,若当前栏目存在子栏目,值为1,否则为0.这个没啥好说的
来个坑爹级的:$arrchildid 变量,返回子栏目的catid,并且包含自身的catid.
第一个值是自身的catid,从第二个值开始是子栏目的catid.
注意:这是一个坑爹级的变量.
此话怎讲?你看这个$arrchildid是不是以为它是个数组?那你就错了!他是个字符串类型的变量!
- var_dump($arrchildid);
- string '4,21,5,6' (length=8)
- //Vevb.com
坑爹啊,第一个值4是当前栏目自己的catid,从21开始,都是子栏目的id,那我们怎么去用呢?一般是用数组来操作比较方便.
下面用一个例子来说明一下,这个例子实现这样一个功能,如果当前栏目存在子栏目,则跳转到其第一个子栏目,我们都知道phpcms功能很强大,但是它有个臭名昭著的漏洞,就是当你的栏目下面存在子栏目的时候,点进栏目之后不会调到子栏目,尤其在单网页上,这种漏洞让人很抓狂,这个例子就可以很好的解决这个问题.
- <?php
- if($child){
- </span>$myarrchild=explode(',',$arrchildid);
- </span>$myurl=$CATEGORYS[$mychildarr[1]][url];
- </span>header("location:$myurl");
- }
- ?>
新闻热点
疑难解答