[php]多数据源串行分页算法

来源:互联网 发布:苹果power mac g5装pc 编辑:程序博客网 时间:2024/05/11 14:00
<?php/** * 多数据源串行分页算法 * @param arr $arrSourceCount 数据源标识=>元素数量 * @param int $offset 起始位置 * @param int $length 长度 * @return arr 数据源标识=>array('offset'=>起始位置, 'length'=>长度) * @author flynetcn */function multiSerialPaging($arrSourceCount, $offset=0, $length=10){$start = 0;$end = $offset + $length;$scopeList = array();foreach ($arrSourceCount as $k => $count) {$start += $count;if ($offset<$start && $offset>=$start-$count) {$scopeList[$k] = array('offset'=>$offset-($start-$count),);if ($end > $start) {$scopeList[$k]['length'] = $count - $scopeList[$k]['offset'];}}if ($end<=$start && $end>$start-$count) {if ($offset >= $start-$count) {$scopeList[$k]['length'] = $length;} else {$scopeList[$k]['offset'] = 0;$scopeList[$k]['length'] = $length-($start-$count-$offset);}}if ($start<$end && $start-$count>$offset) {$scopeList[$k]['offset'] = 0;$scopeList[$k]['length'] = $count;}}return $scopeList;}


0 0
原创粉丝点击