3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ 495 => (object)['date' => '2009-10-31 18:24:09'], 582 => (object)['date' => '2010-2-11 12:01:42'], 121 => (object)['date' => '2008-12-1 18:24:09'], 333 => (object)['date' => '2019-9-9 15:15:15'], 987 => (object)['date' => '2009-2-20 6:06:33'], ]; uasort( $array, function($a, $b) { echo "compare\n"; return strtotime($a->date) <=> strtotime($b->date); } ); var_export($array); echo "\n---\n"; $array = [ 495 => (object)['date' => '2009-10-31 18:24:09'], 582 => (object)['date' => '2010-2-11 12:01:42'], 121 => (object)['date' => '2008-12-1 18:24:09'], 333 => (object)['date' => '2019-9-9 15:15:15'], 987 => (object)['date' => '2009-2-20 6:06:33'], ]; $dates = array_map('strtotime', array_column($array, 'date')); array_multisort($dates, $array); var_export($array);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/AVdJb
function name:  (null)
number of ops:  48
compiled vars:  !0 = $array, !1 = $dates
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    4     0  E >   CAST                                          8  ~2      <array>
          1        INIT_ARRAY                                       ~3      ~2, 495
    5     2        CAST                                          8  ~4      <array>
          3        ADD_ARRAY_ELEMENT                                ~3      ~4, 582
    6     4        CAST                                          8  ~5      <array>
          5        ADD_ARRAY_ELEMENT                                ~3      ~5, 121
    7     6        CAST                                          8  ~6      <array>
          7        ADD_ARRAY_ELEMENT                                ~3      ~6, 333
    8     8        CAST                                          8  ~7      <array>
          9        ADD_ARRAY_ELEMENT                                ~3      ~7, 987
    3    10        ASSIGN                                                   !0, ~3
   11    11        INIT_FCALL                                               'uasort'
   12    12        SEND_REF                                                 !0
   13    13        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2FAVdJb%3A13%240'
   16    14        SEND_VAL                                                 ~9
         15        DO_ICALL                                                 
   19    16        INIT_FCALL                                               'var_export'
         17        SEND_VAR                                                 !0
         18        DO_ICALL                                                 
   21    19        ECHO                                                     '%0A---%0A'
   24    20        CAST                                          8  ~12     <array>
         21        INIT_ARRAY                                       ~13     ~12, 495
   25    22        CAST                                          8  ~14     <array>
         23        ADD_ARRAY_ELEMENT                                ~13     ~14, 582
   26    24        CAST                                          8  ~15     <array>
         25        ADD_ARRAY_ELEMENT                                ~13     ~15, 121
   27    26        CAST                                          8  ~16     <array>
         27        ADD_ARRAY_ELEMENT                                ~13     ~16, 333
   28    28        CAST                                          8  ~17     <array>
         29        ADD_ARRAY_ELEMENT                                ~13     ~17, 987
   23    30        ASSIGN                                                   !0, ~13
   31    31        INIT_FCALL                                               'array_map'
         32        SEND_VAL                                                 'strtotime'
         33        INIT_FCALL                                               'array_column'
         34        SEND_VAR                                                 !0
         35        SEND_VAL                                                 'date'
         36        DO_ICALL                                         $19     
         37        SEND_VAR                                                 $19
         38        DO_ICALL                                         $20     
         39        ASSIGN                                                   !1, $20
   32    40        INIT_FCALL                                               'array_multisort'
         41        SEND_REF                                                 !1
         42        SEND_REF                                                 !0
         43        DO_ICALL                                                 
   33    44        INIT_FCALL                                               'var_export'
         45        SEND_VAR                                                 !0
         46        DO_ICALL                                                 
         47      > RETURN                                                   1

Function %00%7Bclosure%7D%2Fin%2FAVdJb%3A13%240:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/AVdJb
function name:  {closure}
number of ops:  14
compiled vars:  !0 = $a, !1 = $b
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   13     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   14     2        ECHO                                                     'compare%0A'
   15     3        INIT_FCALL                                               'strtotime'
          4        FETCH_OBJ_R                                      ~2      !0, 'date'
          5        SEND_VAL                                                 ~2
          6        DO_ICALL                                         $3      
          7        INIT_FCALL                                               'strtotime'
          8        FETCH_OBJ_R                                      ~4      !1, 'date'
          9        SEND_VAL                                                 ~4
         10        DO_ICALL                                         $5      
         11        SPACESHIP                                        ~6      $3, $5
         12      > RETURN                                                   ~6
   16    13*     > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2FAVdJb%3A13%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
149.07 ms | 1400 KiB | 25 Q