3v4l.org

run code in 300+ PHP versions simultaneously
<?php $mybalance = '{ "responseData": [ { "totalValue": 0.0, "active": "Oct 16, 2019 11:16:23 AM", "expired": "Mar 28, 2020 3:15:58 PM" }, { "totalValue": 0.0, "active": "Oct 16, 2019 11:16:23 AM", "expired": "Mar 28, 2020 3:15:58 PM" }, { "totalValue": 0, "active": "Jun 25, 2019 6:34:59 PM", "expired": "Oct 16, 2020 11:10:32 AM" } ], "responseMessage": "success", "responseCode": 0 }'; date_default_timezone_set('UTC'); $json = json_decode($mybalance, true); foreach($json['responseData'] as $key=>$value){ if(strtotime($value['expired']) < strtotime(date('M d, Y H:i:s A'))){ unset($json['responseData'][$key]); } } echo json_encode($json);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 11, Position 2 = 28
Branch analysis from position: 11
2 jumps found. (Code = 78) Position 1 = 12, Position 2 = 28
Branch analysis from position: 12
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 27
Branch analysis from position: 25
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
Branch analysis from position: 27
Branch analysis from position: 28
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 28
filename:       /in/SPhRi
function name:  (null)
number of ops:  34
compiled vars:  !0 = $mybalance, !1 = $json, !2 = $value, !3 = $key
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   ASSIGN                                                   !0, '%7B%0A++++%22responseData%22%3A+%5B%0A++++++++%7B%0A++++++++++++%22totalValue%22%3A+0.0%2C%0A++++++++++++%22active%22%3A+%22Oct+16%2C+2019+11%3A16%3A23+AM%22%2C%0A++++++++++++%22expired%22%3A+%22Mar+28%2C+2020+3%3A15%3A58+PM%22%0A++++++++%7D%2C%0A++++++++%7B%0A++++++++++++%22totalValue%22%3A+0.0%2C%0A++++++++++++%22active%22%3A+%22Oct+16%2C+2019+11%3A16%3A23+AM%22%2C%0A++++++++++++%22expired%22%3A+%22Mar+28%2C+2020+3%3A15%3A58+PM%22%0A++++++++%7D%2C%0A++++++++%7B%0A++++++++++++%22totalValue%22%3A+0%2C%0A++++++++++++%22active%22%3A+%22Jun+25%2C+2019+6%3A34%3A59+PM%22%2C%0A++++++++++++%22expired%22%3A+%22Oct+16%2C+2020+11%3A10%3A32+AM%22%0A++++%7D%0A++++%5D%2C%0A++++%22responseMessage%22%3A+%22success%22%2C%0A++++%22responseCode%22%3A+0%0A%7D'
   25     1        INIT_FCALL                                               'date_default_timezone_set'
          2        SEND_VAL                                                 'UTC'
          3        DO_ICALL                                                 
   27     4        INIT_FCALL                                               'json_decode'
          5        SEND_VAR                                                 !0
          6        SEND_VAL                                                 <true>
          7        DO_ICALL                                         $6      
          8        ASSIGN                                                   !1, $6
   29     9        FETCH_DIM_R                                      ~8      !1, 'responseData'
         10      > FE_RESET_R                                       $9      ~8, ->28
         11    > > FE_FETCH_R                                       ~10     $9, !2, ->28
         12    >   ASSIGN                                                   !3, ~10
   30    13        INIT_FCALL                                               'strtotime'
         14        FETCH_DIM_R                                      ~12     !2, 'expired'
         15        SEND_VAL                                                 ~12
         16        DO_ICALL                                         $13     
         17        INIT_FCALL                                               'strtotime'
         18        INIT_FCALL                                               'date'
         19        SEND_VAL                                                 'M+d%2C+Y+H%3Ai%3As+A'
         20        DO_ICALL                                         $14     
         21        SEND_VAR                                                 $14
         22        DO_ICALL                                         $15     
         23        IS_SMALLER                                               $13, $15
         24      > JMPZ                                                     ~16, ->27
   31    25    >   FETCH_DIM_UNSET                                  $17     !1, 'responseData'
         26        UNSET_DIM                                                $17, !3
   29    27    > > JMP                                                      ->11
         28    >   FE_FREE                                                  $9
   35    29        INIT_FCALL                                               'json_encode'
         30        SEND_VAR                                                 !1
         31        DO_ICALL                                         $18     
         32        ECHO                                                     $18
         33      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
147.42 ms | 1020 KiB | 18 Q