- array_map: documentation ( source)
- print_r: documentation ( source)
- explode: documentation ( source)
- iterator_to_array: documentation ( source)
<?php
$str = '11am-3pm';
list($begin, $end) = explode('-', $str);
$begin = new DateTime($begin);
$end = new DateTime($end);
$end = $end->modify('+1 hour');
$interval = new DateInterval('PT1H');
$daterange = new DatePeriod($begin, $interval, $end);
$result = array_map(fn($d) => $d->format('ga'), iterator_to_array($daterange));
print_r($result);