为了账号安全,请及时绑定邮箱和手机立即绑定

那个高手能帮我解释一下这段代码?

那个高手能帮我解释一下这段代码?

斯蒂芬大帝 2018-08-11 05:06:13
$currentpage=8; //当前页$halfper=4;//左右各有多少页$totalpages=50;//总共有多少页for($i=$currentpage-$halfper,$i>1||$i=1,$j=$currentpage+$halfper,$j<$totalpages||$j=$totalpages;$i<$j+1;$i++){$linkpage .= ($i==$currentpage)?'<em rel="currentpage">'.$i.'</em>':'<a href="#" style="margin-left:8px;">'.$i.'</a>'; }ps:这是一段分页代码...
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

格式化一下,方便看:

$currentpage=8; //当前页
$halfper=4;//左右各有多少页
$totalpages=50;//总共有多少页
for(
    $i=$currentpage-$halfper,$i>1||$i=1,$j=$currentpage+$halfper,$j<$totalpages||$j=$totalpages;
    $i<$j+1;
    $i++
)
{
    $linkpage .= ($i==$currentpage)?'<em rel="currentpage">'.$i.'</em>':'<a href="#" style="margin-left:8px;">'.$i.'</a>'; 
}

把for里第一个语句提出来,就是这个结果了:

$currentpage=8; //当前页
$halfper=4;//左右各有多少页
$totalpages=50;//总共有多少页

$i=$currentpage-$halfper; //计算最左页应该是第几页
if($i<=1) //如果最左页不大于1就设置为1(其实这里==1时也不用设置)
    $i=1;
$j=$currentpage+$halfper; //计算最右页应该是第几页
if($j>=$totalpages) //如果最右页大于等于总页数,设置为最大页
    $j=$totalpages;

for(;$i<$j+1;$i++)
{
    if($i==$currentpage)
        $linkpage .= '<em rel="currentpage">'.$i.'</em>';
    else
        $linkpage .= '<a href="#" style="margin-left:8px;">'.$i.'</a>';
}


查看完整回答
反对 回复 2018-08-13
  • 1 回答
  • 0 关注
  • 446 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信