[英]Foreach loop array key before and after values
我有这个代码。
<?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',
);
foreach ($timings as $t) {
}
?>
我想在一个foreach循环中传递时间。
但是在通过foreach循环之前,我想调整开始时间和结束时间之间的时间。
在这里,我的启动时间键是5
。 结束时间键为17
。
因此,我想从数组中删除5,6,7,8,9,10,11,12,13,14,15,16,17
,并希望保留其余部分。
有人可以告诉我如何将其弹出吗?
切片并合并
像这样使用array_slice和array_merge :
$starttime = '5';
$endtime = '17';
$timings = array_merge(
array_slice($timings, 0, intval($starttime)),
array_slice($timings, intval($endtime) + 1)
);
拼接
使用array_splice更简单(效率更高)的另一种方法。 注意,它返回提取的数组 ,并更改原始数组 ,因此不要将结果放入$ timings中。
$starttime = '5';
$endtime = '17';
array_splice($timings,
intval($starttime),
(intval($endtime) - intval($starttime))
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.