function givemeart($offset) {
global $db;
global $arrx; // array
$end = $offset + 12;
$arr = array_slice($arrx, $offset, $end);
echo 'offset - ' . $offset . '<br>';
echo 'end - ' . $end . '<br>';
echo 'count - ' . count($arr) . '<br>';
}
结果:
offset - 24
end - 36
count - 36
count
应该是12
吗?
因为从24 (offset)
到36 (end)
是12
。
答案 0 :(得分:0)
array_slice()
的第三个参数是切片的长度,而不是终点...
array array_slice(array $ array,int $ offset [,int $ length = NULL [,bool $ preserve_keys = FALSE]])
应该是...
$arr = array_slice($arrx, $offset, 12);
此外,请尝试避免使用global
并尽可能传递参数。它使测试变得容易得多,并且还意味着您可以更直接地指示数据在何处传递。