<?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 ));
- Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- array(24) {
[0]=>
string(10) "03/06/1948"
[1]=>
string(10) "03/16/1948"
[2]=>
string(10) "03/17/1948"
[3]=>
string(10) "03/27/1948"
[4]=>
string(10) "04/16/1948"
[5]=>
string(10) "04/27/1948"
[6]=>
string(10) "05/06/1948"
[7]=>
string(10) "05/17/1948"
[8]=>
string(10) "08/24/1972"
[9]=>
string(10) "10/25/1972"
[10]=>
string(10) "11/24/1972"
[11]=>
string(10) "11/25/1972"
[12]=>
string(10) "02/12/2000"
[13]=>
string(10) "02/22/2000"
[14]=>
string(10) "03/22/2000"
[15]=>
string(10) "12/12/2000"
[16]=>
string(10) "01/10/2008"
[17]=>
string(10) "01/14/2008"
[18]=>
string(10) "02/14/2008"
[19]=>
string(10) "11/10/2008"
[20]=>
string(10) "09/23/2009"
[21]=>
string(10) "10/23/2009"
[22]=>
string(10) "11/13/2009"
[23]=>
string(10) "12/25/2009"
}
preferences:
159.99 ms | 405 KiB | 183 Q