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( // Dates fixes 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 // Dates variables 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; } $a = getHolidays(); $date = '08/05/2014'; $dlc = explode("/",$date); $dlc = strtotime($dlc[1]."/".$dlc[0]."/".$dlc[2]); if(in_array($dlc,$a))echo 'OK';
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 26
Branch analysis from position: 25
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 26
filename:       /in/28GXl
function name:  (null)
number of ops:  27
compiled vars:  !0 = $a, !1 = $date, !2 = $dlc
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   35     0  E >   INIT_FCALL                                               'getholidays'
          1        DO_FCALL                                      0  $3      
          2        ASSIGN                                                   !0, $3
   36     3        ASSIGN                                                   !1, '08%2F05%2F2014'
   37     4        INIT_FCALL                                               'explode'
          5        SEND_VAL                                                 '%2F'
          6        SEND_VAR                                                 !1
          7        DO_ICALL                                         $6      
          8        ASSIGN                                                   !2, $6
   38     9        INIT_FCALL                                               'strtotime'
         10        FETCH_DIM_R                                      ~8      !2, 1
         11        CONCAT                                           ~9      ~8, '%2F'
         12        FETCH_DIM_R                                      ~10     !2, 0
         13        CONCAT                                           ~11     ~9, ~10
         14        CONCAT                                           ~12     ~11, '%2F'
         15        FETCH_DIM_R                                      ~13     !2, 2
         16        CONCAT                                           ~14     ~12, ~13
         17        SEND_VAL                                                 ~14
         18        DO_ICALL                                         $15     
         19        ASSIGN                                                   !2, $15
   39    20        INIT_FCALL                                               'in_array'
         21        SEND_VAR                                                 !2
         22        SEND_VAR                                                 !0
         23        DO_ICALL                                         $17     
         24      > JMPZ                                                     $17, ->26
         25    >   ECHO                                                     'OK'
         26    > > 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/28GXl
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
-------------------------------------------------------------------------------------
    2     0  E >   RECV_INIT                                        !0      null
    4     1        TYPE_CHECK                                    2          !0
          2      > JMPZ                                                     ~6, ->8
    6     3    >   INIT_FCALL                                               'date'
          4        SEND_VAL                                                 'Y'
          5        DO_ICALL                                         $7      
          6        CAST                                          4  ~8      $7
          7        ASSIGN                                                   !0, ~8
    9     8    >   INIT_FCALL_BY_NAME                                       'easter_date'
          9        SEND_VAR_EX                                              !0
         10        DO_FCALL                                      0  $10     
         11        ASSIGN                                                   !1, $10
   10    12        INIT_FCALL                                               'date'
         13        SEND_VAL                                                 'j'
         14        SEND_VAR                                                 !1
         15        DO_ICALL                                         $12     
         16        ASSIGN                                                   !2, $12
   11    17        INIT_FCALL                                               'date'
         18        SEND_VAL                                                 'n'
         19        SEND_VAR                                                 !1
         20        DO_ICALL                                         $14     
         21        ASSIGN                                                   !3, $14
   12    22        INIT_FCALL                                               'date'
         23        SEND_VAL                                                 'Y'
         24        SEND_VAR                                                 !1
         25        DO_ICALL                                         $16     
         26        ASSIGN                                                   !4, $16
   16    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
   17    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
   18    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
   19    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
   20    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
   21    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
   22    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
   23    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
   26    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
   27   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
   28   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
   14   129        ASSIGN                                                   !5, ~19
   31   130        INIT_FCALL                                               'sort'
        131        SEND_REF                                                 !5
        132        DO_ICALL                                                 
   33   133      > RETURN                                                   !5
   34   134*     > RETURN                                                   null

End of function getholidays

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
157.35 ms | 1402 KiB | 26 Q