This answer allows you to start the Day of the week and dynamically process how the days are marked.
This is just an improved solution using uksort () , date () and strtotime () .
function sort_days( $term1, $term2 ) { $weekdays = array( 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' ); foreach ( $weekdays as $key => $value ) { $weekdays[ $key ] = date( 'N', strtotime( $value ) ); } $term1_time = date( 'N', strtotime( strtolower( $term1 ) ) ); $term2_time = date( 'N', strtotime( strtolower( $term2 ) ) ); return array_search( $term1_time, $weekdays ) - array_search( $term2_time, $weekdays ); }
Sort keys using uksort ()
$uk_days = array( 'thursday' => 1, 'monday' => 1, 'saturday' => 1, 'wednesday' => 1, 'sunday' => 1, 'friday' => 1, 'tuesday' => 1, ); uksort($uk_days, "sort_days"); var_dump($uk_days);
Sort keys using usort ()
$u_days = array( 'thursday', 'monday', 'saturday', 'wednesday', 'sunday', 'friday', 'tuesday', ); usort($u_days, "sort_days"); var_dump($u_days);
Ekojr
source share