<?php
$arrDates = array(
"12/25/2009","01/10/2008","02/12/2000","03/17/1948",
"03/06/1948","11/25/1972","10/23/2009","01/14/2008",
"02/22/2000","03/27/1948","03/16/1948","11/24/1972",
"11/13/2009","11/10/2008","12/12/2000","05/17/1948",
"05/06/1948","10/25/1972","09/23/2009","02/14/2008",
"03/22/2000","04/27/1948","04/16/1948","08/24/1972"
);
/**
* swapValue()
* @param array $array
* @param int $dex
* swap two array values
**/
function swapValues( $array, $dex ) {
list($array[$dex],$array[$dex + 1]) = array($array[$dex + 1], $array[$dex]);
return $array;
}
/**
* bubbleSort()
* @param array $array
* performs bubble sort using traditional bubble sort
**/
function bubbleSort( $array )
{
$size = count($array) - 1; // zero-based array 'indexing'
$swapped = 0;
do
{
$swapped = 0;
for ($x = 0; $x < $size; $x++)
{
if ( strtotime($array[ $x ]) >
strtotime($array[ $x + 1]))
{
$array = swapValues($array,$x);
$swapped = 1;
}
}
} while ($swapped);
return $array;
}
var_dump(bubbleSort( $arrDates ));
preferences:
65.1 ms | 402 KiB | 5 Q