<?php
$starttime = '5';
$endtime = '17';
$timings = array(
'0' => '12AM',
'1' => '1AM',
'2' => '2AM',
'3' => '3AM',
'4' => '4AM',
'5' => '5AM',
'6' => '6AM',
'7' => '7AM',
'8' => '8AM',
'9' => '9AM',
'10' => '10AM',
'11' => '11AM',
'12' => '12PM',
'13' => '1PM',
'14' => '2PM',
'15' => '3PM',
'16' => '4PM',
'17' => '5PM',
'18' => '6PM',
'19' => '7PM',
'20' => '8PM',
'21' => '9PM',
'22' => '10PM',
'23' => '11PM',
);
function diffKeys($timings, $starttime, $endtime) {
return array_diff_key($timings, array_flip(range($starttime, $endtime)));
}
function spliceKeys($timings, $starttime, $endtime) {
array_splice($timings, $starttime, $endtime - $starttime);
return $timings;
}
function sliceKeys($timings, $starttime, $endtime) {
return array_merge(
array_slice($timings, 0, $starttime),
array_slice($timings, $endtime + 1)
);
}
function skipKeys($timings, $starttime, $endtime) {
$result = [];
foreach ($timings as $military => $timing) {
if ($military >= $starttime && $military <= $endtime) {
continue;
}
$result[$military] = $timing;
}
return $result;
}
function unsetKeys($timings, $starttime, $endtime) {
$result = [];
foreach ($timings as $military => $timing) {
if ($military >= $starttime && $military <= $endtime) {
unset($timings[$military]);
}
}
return $timings;
}
var_export(diffKeys($timings, $starttime, $endtime));
echo "\n---\n";
var_export(spliceKeys($timings, $starttime, $endtime));
echo "\n---\n";
var_export(sliceKeys($timings, $starttime, $endtime));
echo "\n---\n";
var_export(skipKeys($timings, $starttime, $endtime));
echo "\n---\n";
var_export(unsetKeys($timings, $starttime, $endtime));
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
- array (
0 => '12AM',
1 => '1AM',
2 => '2AM',
3 => '3AM',
4 => '4AM',
18 => '6PM',
19 => '7PM',
20 => '8PM',
21 => '9PM',
22 => '10PM',
23 => '11PM',
)
---
array (
0 => '12AM',
1 => '1AM',
2 => '2AM',
3 => '3AM',
4 => '4AM',
5 => '5PM',
6 => '6PM',
7 => '7PM',
8 => '8PM',
9 => '9PM',
10 => '10PM',
11 => '11PM',
)
---
array (
0 => '12AM',
1 => '1AM',
2 => '2AM',
3 => '3AM',
4 => '4AM',
5 => '6PM',
6 => '7PM',
7 => '8PM',
8 => '9PM',
9 => '10PM',
10 => '11PM',
)
---
array (
0 => '12AM',
1 => '1AM',
2 => '2AM',
3 => '3AM',
4 => '4AM',
18 => '6PM',
19 => '7PM',
20 => '8PM',
21 => '9PM',
22 => '10PM',
23 => '11PM',
)
---
array (
0 => '12AM',
1 => '1AM',
2 => '2AM',
3 => '3AM',
4 => '4AM',
18 => '6PM',
19 => '7PM',
20 => '8PM',
21 => '9PM',
22 => '10PM',
23 => '11PM',
)
preferences:
95.79 ms | 404 KiB | 123 Q