3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getHolidays($year = null) { if ($year === null) { $year = intval(date('Y')); } $easterDate = easter_date($year); $easterDay = date('j', $easterDate); $easterMonth = date('n', $easterDate); $easterYear = date('Y', $easterDate); $holidays = array( // These days have a fixed date mktime(0, 0, 0, 1, 1, $year), // 1er janvier mktime(0, 0, 0, 5, 1, $year), // Fête du travail mktime(0, 0, 0, 5, 8, $year), // Victoire des alliés mktime(0, 0, 0, 7, 14, $year), // Fête nationale mktime(0, 0, 0, 8, 15, $year), // Assomption mktime(0, 0, 0, 11, 1, $year), // Toussaint mktime(0, 0, 0, 11, 11, $year), // Armistice mktime(0, 0, 0, 12, 25, $year), // Noel // These days have a date depending on easter mktime(0, 0, 0, $easterMonth, $easterDay + 2, $easterYear), mktime(0, 0, 0, $easterMonth, $easterDay + 40, $easterYear), mktime(0, 0, 0, $easterMonth, $easterDay + 50, $easterYear), ); sort($holidays); return $holidays; } var_dump(array_map(function ($item) { return date('Y-m-d H:i:s', $item); }, getHolidays(2010)));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/NS3Zk
function name:  (null)
number of ops:  12
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   37     0  E >   INIT_FCALL                                               'var_dump'
          1        INIT_FCALL                                               'array_map'
          2        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2FNS3Zk%3A37%240'
          3        SEND_VAL                                                 ~0
          4        INIT_FCALL                                               'getholidays'
          5        SEND_VAL                                                 2010
          6        DO_FCALL                                      0  $1      
          7        SEND_VAR                                                 $1
          8        DO_ICALL                                         $2      
          9        SEND_VAR                                                 $2
         10        DO_ICALL                                                 
         11      > RETURN                                                   1

Function getholidays:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 8
Branch analysis from position: 3
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
filename:       /in/NS3Zk
function name:  getHolidays
number of ops:  135
compiled vars:  !0 = $year, !1 = $easterDate, !2 = $easterDay, !3 = $easterMonth, !4 = $easterYear, !5 = $holidays
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV_INIT                                        !0      null
    5     1        TYPE_CHECK                                    2          !0
          2      > JMPZ                                                     ~6, ->8
    7     3    >   INIT_FCALL                                               'date'
          4        SEND_VAL                                                 'Y'
          5        DO_ICALL                                         $7      
          6        CAST                                          4  ~8      $7
          7        ASSIGN                                                   !0, ~8
   10     8    >   INIT_FCALL_BY_NAME                                       'easter_date'
          9        SEND_VAR_EX                                              !0
         10        DO_FCALL                                      0  $10     
         11        ASSIGN                                                   !1, $10
   11    12        INIT_FCALL                                               'date'
         13        SEND_VAL                                                 'j'
         14        SEND_VAR                                                 !1
         15        DO_ICALL                                         $12     
         16        ASSIGN                                                   !2, $12
   12    17        INIT_FCALL                                               'date'
         18        SEND_VAL                                                 'n'
         19        SEND_VAR                                                 !1
         20        DO_ICALL                                         $14     
         21        ASSIGN                                                   !3, $14
   13    22        INIT_FCALL                                               'date'
         23        SEND_VAL                                                 'Y'
         24        SEND_VAR                                                 !1
         25        DO_ICALL                                         $16     
         26        ASSIGN                                                   !4, $16
   17    27        INIT_FCALL                                               'mktime'
         28        SEND_VAL                                                 0
         29        SEND_VAL                                                 0
         30        SEND_VAL                                                 0
         31        SEND_VAL                                                 1
         32        SEND_VAL                                                 1
         33        SEND_VAR                                                 !0
         34        DO_ICALL                                         $18     
         35        INIT_ARRAY                                       ~19     $18
   18    36        INIT_FCALL                                               'mktime'
         37        SEND_VAL                                                 0
         38        SEND_VAL                                                 0
         39        SEND_VAL                                                 0
         40        SEND_VAL                                                 5
         41        SEND_VAL                                                 1
         42        SEND_VAR                                                 !0
         43        DO_ICALL                                         $20     
         44        ADD_ARRAY_ELEMENT                                ~19     $20
   19    45        INIT_FCALL                                               'mktime'
         46        SEND_VAL                                                 0
         47        SEND_VAL                                                 0
         48        SEND_VAL                                                 0
         49        SEND_VAL                                                 5
         50        SEND_VAL                                                 8
         51        SEND_VAR                                                 !0
         52        DO_ICALL                                         $21     
         53        ADD_ARRAY_ELEMENT                                ~19     $21
   20    54        INIT_FCALL                                               'mktime'
         55        SEND_VAL                                                 0
         56        SEND_VAL                                                 0
         57        SEND_VAL                                                 0
         58        SEND_VAL                                                 7
         59        SEND_VAL                                                 14
         60        SEND_VAR                                                 !0
         61        DO_ICALL                                         $22     
         62        ADD_ARRAY_ELEMENT                                ~19     $22
   21    63        INIT_FCALL                                               'mktime'
         64        SEND_VAL                                                 0
         65        SEND_VAL                                                 0
         66        SEND_VAL                                                 0
         67        SEND_VAL                                                 8
         68        SEND_VAL                                                 15
         69        SEND_VAR                                                 !0
         70        DO_ICALL                                         $23     
         71        ADD_ARRAY_ELEMENT                                ~19     $23
   22    72        INIT_FCALL                                               'mktime'
         73        SEND_VAL                                                 0
         74        SEND_VAL                                                 0
         75        SEND_VAL                                                 0
         76        SEND_VAL                                                 11
         77        SEND_VAL                                                 1
         78        SEND_VAR                                                 !0
         79        DO_ICALL                                         $24     
         80        ADD_ARRAY_ELEMENT                                ~19     $24
   23    81        INIT_FCALL                                               'mktime'
         82        SEND_VAL                                                 0
         83        SEND_VAL                                                 0
         84        SEND_VAL                                                 0
         85        SEND_VAL                                                 11
         86        SEND_VAL                                                 11
         87        SEND_VAR                                                 !0
         88        DO_ICALL                                         $25     
         89        ADD_ARRAY_ELEMENT                                ~19     $25
   24    90        INIT_FCALL                                               'mktime'
         91        SEND_VAL                                                 0
         92        SEND_VAL                                                 0
         93        SEND_VAL                                                 0
         94        SEND_VAL                                                 12
         95        SEND_VAL                                                 25
         96        SEND_VAR                                                 !0
         97        DO_ICALL                                         $26     
         98        ADD_ARRAY_ELEMENT                                ~19     $26
   27    99        INIT_FCALL                                               'mktime'
        100        SEND_VAL                                                 0
        101        SEND_VAL                                                 0
        102        SEND_VAL                                                 0
        103        SEND_VAR                                                 !3
        104        ADD                                              ~27     !2, 2
        105        SEND_VAL                                                 ~27
        106        SEND_VAR                                                 !4
        107        DO_ICALL                                         $28     
        108        ADD_ARRAY_ELEMENT                                ~19     $28
   28   109        INIT_FCALL                                               'mktime'
        110        SEND_VAL                                                 0
        111        SEND_VAL                                                 0
        112        SEND_VAL                                                 0
        113        SEND_VAR                                                 !3
        114        ADD                                              ~29     !2, 40
        115        SEND_VAL                                                 ~29
        116        SEND_VAR                                                 !4
        117        DO_ICALL                                         $30     
        118        ADD_ARRAY_ELEMENT                                ~19     $30
   29   119        INIT_FCALL                                               'mktime'
        120        SEND_VAL                                                 0
        121        SEND_VAL                                                 0
        122        SEND_VAL                                                 0
        123        SEND_VAR                                                 !3
        124        ADD                                              ~31     !2, 50
        125        SEND_VAL                                                 ~31
        126        SEND_VAR                                                 !4
        127        DO_ICALL                                         $32     
        128        ADD_ARRAY_ELEMENT                                ~19     $32
   15   129        ASSIGN                                                   !5, ~19
   32   130        INIT_FCALL                                               'sort'
        131        SEND_REF                                                 !5
        132        DO_ICALL                                                 
   34   133      > RETURN                                                   !5
   35   134*     > RETURN                                                   null

End of function getholidays

Function %00%7Bclosure%7D%2Fin%2FNS3Zk%3A37%240:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/NS3Zk
function name:  {closure}
number of ops:  7
compiled vars:  !0 = $item
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   37     0  E >   RECV                                             !0      
          1        INIT_FCALL                                               'date'
          2        SEND_VAL                                                 'Y-m-d+H%3Ai%3As'
          3        SEND_VAR                                                 !0
          4        DO_ICALL                                         $1      
          5      > RETURN                                                   $1
          6*     > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2FNS3Zk%3A37%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
169.74 ms | 1410 KiB | 24 Q