<?php
$props = [
['name' => 'Mathematics', 'time' => '03:01:PM - 04:50:PM'],
['name' => 'History', 'time' => '11:30:AM - 01:30:PM'],
['name' => 'French', 'time' => '01:31:PM - 03:00:PM'],
];
$times = preg_replace(
'~^(\d\d):(\d\d):(AM|PM) - .*$~',
'\3\1\2',
array_column($props, 'time')
);
array_multisort($times, $props);
print_r($props);
preferences:
35.94 ms | 402 KiB | 5 Q