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 :(