【发布时间】:2017-01-04 11:45:48
【问题描述】:
我想知道是否有人有一种聪明的方法来确保在 array_slice 操作期间选择数组的最后一个元素。第一个元素很容易选择,但如果应用了偏移量,您无法确定最后一个元素是否被选中,除非您在循环后添加额外的 if else 逻辑。
例如这里是没有if else statement的问题的基础。
$latlong[] = [1,2];
$latlong[] = [3,4];
$latlong[] = [5,6];
$latlong[] = [7,8];
$latlong[] = [9,10];
$latlong[] = [11,12];
$latlong[] = [19,110];
$latlong[] = [21,132];
$off = 3;
for ($i=0; $i < count($latlong); $i+=$off){
print_r( array_slice($latlong, $i,1));
}
在此处的示例中,您将看到仅选择了 [1,2], [7,8], [19,110] 对,并且需要以其他方式包含最后一个元素 [21,132]。
相关性是确保仅选择一定数量的“航路点”以保持在限制范围内,但第一个和最后一个元素包含在该限制中。
【问题讨论】:
-
对于创建一定长度的块有
array_chunk -
所以您的问题是,在切片时,如果偏移量超出数组的末尾,您希望它选择数组中的最后一个元素,而不是正确的?