循环遍历整数数组并每隔1000

时间:2016-11-17 14:35:51

标签: php loops foreach iteration gpx

我正在处理活动跟踪文件。我想浏览一个GPX文件并为每1000米里程碑做一些事情。但该设备不一定在1000米,2000米等处记录GPS轨道,因此我不能使用$distance % 1000之类的东西。我想要的是通过在里程碑之后执行一个动作来检测每次1000米里程碑已经过去。

以下是跟踪距离的示例:

0  
3  
28 
…  
997  
1003  
1027  
…  
1998  
2006
…  
2989  
3001

等等。在这个例子中,我需要在达到1003,然后是2006,然后是3001时执行一个动作。

每次数据传递1000的倍数时,如何触发事件?

2 个答案:

答案 0 :(得分:2)

如果您的数据是以字符串形式出现的,那么您可以通过分隔符来分解字符串,然后循环它。

1003
2006
3001

输出:

this

答案 1 :(得分:1)

如果你想将一个大数组拆分成小数组,每个数组大小相同,你可以使用array_chunk function

$ar = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var_dump(array_chunk($ar, 2));

输出:

array(5) {
  [0]=>
  array(2) {
    [0]=>
    int(1)
    [1]=>
    int(2)
  }
  [1]=>
  array(2) {
    [0]=>
    int(3)
    [1]=>
    int(4)
  }
  [2]=>
  array(2) {
    [0]=>
    int(5)
    [1]=>
    int(6)
  }
  [3]=>
  array(2) {
    [0]=>
    int(7)
    [1]=>
    int(8)
  }
  [4]=>
  array(1) {
    [0]=>
    int(9)
  }
}