我需要输出8个列表内容,然后再在指定序号的列表上同时显示背景图片,没有指定的就不显示。列表数组$lists=array($list1,$list2,$list3........$list8); 指定序号的数组$sn=array(3,5,8);循环8次$num=0;;具体代码如下:
foreach($lists as $key=>$list){
$num=$num+1;
if($num>8) break;{
echo '<li class="list'.$num.'" style="background:none"></li>';<!--当循环到第3,5,8个列表时显示背景background:url()>
}
}
主要是后面显示背景这一步怎么也写不出来,用if($num==遍历后的$sn),只能显示其中指定序号的一个背景,用if($sn[$key]),输出的是第1,2,3个列表的背景。
我要的效果是在8个列表中,第3,第5,第8个列表显示背景,而胜于序号的列表则不显示背景,请大侠帮助……
但是如果这个序号不是固定的,需要根据情况来变换呢?比如有时候我需要第1,第6,有时候需要2,3,4,5,6……这个选择序号的数组是可以后台选择的。
另外要输出的背景是固定的同一个。
$list = array($a,$b,$c.....);
$sn=explode(',',$bk);<!--$bk是一个后台配置的根据用户需求变化的序号组合>
$num=0;
foreach($list as $k=>$v){
$num=$num+1;
foreach($sn as $n){
if($num>8) break;{
if($num == $n){
echo '<li class="titem0'.$num.'">';
echo '<div class="tabs-tip" style="background:url(assets/images/tip1.gif);background-repeat:no-repeat;display:block"></div></li>';
}else{
echo '<li class="titem0'.$num.'">';
echo '<div class="tabs-tip" style="background:url(assets/images/tip1.gif);background-repeat:no-repeat;display:none"></div></li>';
}
}
}
我这样写之后结果就是只能输出$sn中序号组的其中一个背景,比如3,5,8只能输出第三个,后面的全都执行了display:none。我需要的是后台配置多少个序号,就同时输出多少个背景T_T
谢谢!!!但是如果这个序号不是固定的,需要根据情况来变换呢?比如有时候我需要第1,第6,有时候需要2,3,4,5,6……也就是说$sn这个数组是可以再后台自己配置的。
追答也可以的,两次循环
$arr = array(2,3,4,6,8);
$i = 1;
foreach($list as $k=>$v){
foreach($arr as $arr_v){
$i == $arr_v && echo ';
}
$i++;
}
$i == $arr_v && echo ';
这样写输出不了呀。&& echo '';是什么意思?但是如果用了if的话只能输出一个背景T_T
&& 就是if的简写。。。
得,你把你要的代码发上来吧,我帮你写一下吧。。