Php 如何防止多维数组中的重复值
我有以下代码:Php 如何防止多维数组中的重复值,php,arrays,Php,Arrays,我有以下代码: <?php $schedules = array(); $schedules[0]['start_hour'] = "08:00:00"; $schedules[1]['start_hour'] = "08:15:00"; $schedules[2]['start_hour'] = "08:30:00"; $schedules = json_encode($schedules); $schedules = jso
<?php
$schedules = array();
$schedules[0]['start_hour'] = "08:00:00";
$schedules[1]['start_hour'] = "08:15:00";
$schedules[2]['start_hour'] = "08:30:00";
$schedules = json_encode($schedules);
$schedules = json_decode($schedules, FALSE);
for ($i = strtotime("08:00:00"); $i <= strtotime("09:00:00"); $i = $i+15*60):
foreach($schedules as $sch):
if($i == strtotime($sch->start_hour)):
echo date("H:i", $i)." SCHEDULED! <br>";
else:
echo date("H:i", $i)." NOT SCHEDULED :( <br />";
endif;
endforeach;
endfor;
?>
我想要像这样的东西:
08:00 SCHEDULED!
08:15 SCHEDULED!
08:30 SCHEDULED!
08:45 NOT SCHEDULED :(
09:00 NOT SCHEDULED :(
我能做什么?从简化流程开始,制作一个简单的预定时间数组,这样您就可以在单个循环中使用
in_array()
$schedules = array();
$schedules[0]['start_hour'] = "08:00:00";
$schedules[1]['start_hour'] = "08:15:00";
$schedules[2]['start_hour'] = "08:30:00";
#Make simple array of booked times
$booked = [];
foreach ( $schedules as $sch ):
$booked[] = strtotime($sch['start_hour']);
endforeach;
for ($i = strtotime("08:00:00"); $i <= strtotime("09:00:00"); $i = $i+15*60):
if( in_array($i, $booked)):
echo date("H:i", $i)." SCHEDULED! \n";
else:
echo date("H:i", $i)." NOT SCHEDULED :( \n";
endif;
endfor;
计划时将值放入数组中,并始终检查是否存在已计划的键/值如果我在数组中有事件id,例如:$schedules[0]['event_id']=230,我如何获得计划结果中的每个事件id,例如:
$schedules = array();
$schedules[0]['start_hour'] = "08:00:00";
$schedules[1]['start_hour'] = "08:15:00";
$schedules[2]['start_hour'] = "08:30:00";
#Make simple array of booked times
$booked = [];
foreach ( $schedules as $sch ):
$booked[] = strtotime($sch['start_hour']);
endforeach;
for ($i = strtotime("08:00:00"); $i <= strtotime("09:00:00"); $i = $i+15*60):
if( in_array($i, $booked)):
echo date("H:i", $i)." SCHEDULED! \n";
else:
echo date("H:i", $i)." NOT SCHEDULED :( \n";
endif;
endfor;
08:00 SCHEDULED!
08:15 SCHEDULED!
08:30 SCHEDULED!
08:45 NOT SCHEDULED :(
09:00 NOT SCHEDULED :(