我需要从以下数组中获取有效的时间戳:
$arrkeys = array(
"t" => [
1442238840,60,120,180,240,300,360,420,480,540,600,660,720,780,840,900,960,
1442239860,60,120,180,240,300,360,420,480,540,600,660,720,780,840,900,960,
1442240880,60,120,180,240,300,360,420,480,540,600,660,720,780,840,900,960
]
);
我需要将第一个有效时间戳1442238840
与以下17个数字相加,以获得正确的时间戳,然后是第二个时间戳1442239860
等...
示例:
1442238840 + 60;
1442238840 + 120;
1442238840 + 180;
etc...
我无法弄清楚我该怎么做, 我尝试过的一些事情:
尝试排名第1
//Pseudo-code
foreach($arrkeys["t"] as $t){
if(strlen($t) < 10){
//Search for the first valid timestamp and sum?
}
}
尝试2号
//Not working.
$array_size = 17;
/* I know that every 17 (counting from 0) have a valid timestamp.
so that 0 = 1st valid timestamp, 20 = 2nd valid timestamp. */
for ($i = 0; $i < $array_size; $i++) {
do {
echo $i;
} while ($i > 0);
我不知道我是否正确地解决了这个问题,我不知道如何有效地做到这一点,或者至少不知道如何做到这一点。
有什么建议吗?
答案 0 :(得分:5)
我喜欢你尝试过不同的东西。那很好!
你试图自己解决这个问题,array_chunk()
会对你有很大的帮助,因为你可以将你的数组分成17个元素组,然后用array_sum()
将每组17个元素加在一起,例如
$result = array_chunk($arrkeys["t"], 17);
$result = array_map("array_sum", $result);