PHP 广告位实现逻辑
后端根据列表分页展示广告位
加入分页展示一页展示20条数据
后端设置 5,15,30
前端接口进行处理展示第一页5,15,第二页30
循环
第三页45,55,第四页70
第五页85,95,第六页110
.
.
.
以此类推进行循环
用PHP函数实现逻辑如下:
/**
* 广告位
* @param string $str 后端设置广告位 5,15,30
* @param int $limit 每页显示条数
* @param int $page 页数
* @return array 结果返回数组
*/
public function get_data($str,$limit,$page)
{
$max = $page * $limit;
$min = $limit*($page - 1);
$arr = explode(',', $str);
$res = [];
if(!empty($arr)){
//获取数组最大页数
$max_value = max($arr);
$max_page = (int)(ceil($max_value/$limit));
$bs = (int)ceil($page/$max_page )-1;
foreach ($arr as $v){
$varue = (int)$v + $max_page * $limit * $bs;
if($varue <= $max && $varue > $min){
$res[] = (int)$varue;
}
}
}
return $res;
}
以上方法实现广告位逻辑,根绝填写的字符串判断出最大页数,根据最大页数循环
如果其他问题请加群讨论