<?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"
);
/**
* swapValue2()
* @param array $array
* @param int $dex
* @param int $dex2
* swap two array values
**/
function swapValues2( $array, $dex, $dex2 ) {
list($array[$dex],$array[$dex2]) = array($array[$dex2], $array[$dex]);
return $array;
}
/**
* bubbleSort()
* @param array $array
* performs bubble sort using optimized implementation
**/
function bubbleSort( $array)
{
for( $out=0, $size = count($array);
$out < $size - 1 ;
$out++ )
{
for( $in = $out + 1;
$in < $size;
$in++ )
{
if (strtotime($array[ $out ]) >
strtotime($array[ $in ]))
{
$array = swapValues2($array, $out, $in);
}
}
}
return $array;
}
var_dump(bubbleSort($arrDates));
- Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.25, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.6 - 7.2.33, 7.3.0 - 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.4, 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"
}
- Output for 8.3.5
- Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
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:
184.99 ms | 403 KiB | 251 Q