3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = array(array('date'=>'2014-12-01', 'price'=>'123.00'), array('date'=>'2013-12-01', 'price'=>'123.00'), array('date'=>'2014-02-01', 'price'=>'123.00'), array('date'=>'2014-03-01', 'price'=>'123.00')); var_dump($array); function sortByDate($a, $b) { $datetime1 = date_create($a); $datetime2 = date_create($b); $interval = date_diff($datetime1, $datetime2); $diff = $interval->format('%a'); if($diff>0){return 1;} if($diff<0){return -1;} if($diff==0){return 0;} return false; } usort($array, 'sortByDate'); var_dump($array);
Output for 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(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Fatal error: Uncaught TypeError: date_create(): Argument #1 ($datetime) must be of type string, array given in /in/D5Blc:7 Stack trace: #0 /in/D5Blc(7): date_create(Array) #1 [internal function]: sortByDate(Array, Array) #2 /in/D5Blc(17): usort(Array, 'sortByDate') #3 {main} thrown in /in/D5Blc on line 7
Process exited with code 255.
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 7 Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 8 Warning: date_diff() expects parameter 1 to be DateTimeInterface, bool given in /in/D5Blc on line 9 Fatal error: Uncaught Error: Call to a member function format() on bool in /in/D5Blc:10 Stack trace: #0 [internal function]: sortByDate(Array, Array) #1 /in/D5Blc(17): usort(Array, 'sortByDate') #2 {main} thrown in /in/D5Blc on line 10
Process exited with code 255.
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 7 Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 8 Warning: date_diff() expects parameter 1 to be DateTimeInterface, boolean given in /in/D5Blc on line 9 Fatal error: Uncaught Error: Call to a member function format() on boolean in /in/D5Blc:10 Stack trace: #0 [internal function]: sortByDate(Array, Array) #1 /in/D5Blc(17): usort(Array, 'sortByDate') #2 {main} thrown in /in/D5Blc on line 10
Process exited with code 255.
Output for 5.6.0 - 5.6.40
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 7 Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 8 Warning: date_diff() expects parameter 1 to be DateTimeInterface, boolean given in /in/D5Blc on line 9 Fatal error: Call to a member function format() on boolean in /in/D5Blc on line 10
Process exited with code 255.
Output for 5.5.8 - 5.5.38
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 7 Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 8 Warning: date_diff() expects parameter 1 to be DateTimeInterface, boolean given in /in/D5Blc on line 9 Fatal error: Call to a member function format() on a non-object in /in/D5Blc on line 10
Process exited with code 255.
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.7
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 7 Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 8 Warning: date_diff() expects parameter 1 to be DateTime, boolean given in /in/D5Blc on line 9 Fatal error: Call to a member function format() on a non-object in /in/D5Blc on line 10
Process exited with code 255.
Output for 5.2.0 - 5.2.17
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 7 Warning: date_create() expects parameter 1 to be string, array given in /in/D5Blc on line 8 Fatal error: Call to undefined function date_diff() in /in/D5Blc on line 9
Process exited with code 255.
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Fatal error: Call to undefined function date_create() in /in/D5Blc on line 7
Process exited with code 255.
Output for 4.4.5 - 4.4.9
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Fatal error: Call to undefined function: date_create() in /in/D5Blc on line 7
Process exited with code 255.
Output for 4.3.2 - 4.3.11, 4.4.0 - 4.4.4
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Fatal error: Call to undefined function: date_create() in /in/D5Blc on line 7
Process exited with code 255.
Output for 4.3.0 - 4.3.1
array(4) { [0]=> array(2) { ["date"]=> string(10) "2014-12-01" ["price"]=> string(6) "123.00" } [1]=> array(2) { ["date"]=> string(10) "2013-12-01" ["price"]=> string(6) "123.00" } [2]=> array(2) { ["date"]=> string(10) "2014-02-01" ["price"]=> string(6) "123.00" } [3]=> array(2) { ["date"]=> string(10) "2014-03-01" ["price"]=> string(6) "123.00" } } Fatal error: Call to undefined function: date_create() in /in/D5Blc on line 7

preferences:
309.14 ms | 402 KiB | 460 Q