3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = '{"details":"http://github.com/adamcooke/vat-rates","version":null,"rates":[{"name":"Spain","code":"ES","country_code":"ES","periods":[{"effective_from":"0000-01-01","rates":{"super_reduced":4.0,"reduced":10.0,"standard":21.0}}]},{"name":"Bulgaria","code":"BG","country_code":"BG","periods":[{"effective_from":"0000-01-01","rates":{"reduced":9.0,"standard":20.0}}]},{"name":"Hungary","code":"HU","country_code":"HU","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":5.0,"reduced2":18.0,"standard":27.0}}]},{"name":"Latvia","code":"LV","country_code":"LV","periods":[{"effective_from":"0000-01-01","rates":{"reduced":12.0,"standard":21.0}}]},{"name":"Poland","code":"PL","country_code":"PL","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":5.0,"reduced2":8.0,"standard":23.0}}]},{"name":"United Kingdom","code":"UK","country_code":"GB","periods":[{"effective_from":"2011-01-04","rates":{"standard":20.0,"reduced":5.0}}]},{"name":"Czech Republic","code":"CZ","country_code":"CZ","periods":[{"effective_from":"0000-01-01","rates":{"reduced":15.0,"standard":21.0}}]},{"name":"Malta","code":"MT","country_code":"MT","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":5.0,"reduced2":7.0,"standard":18.0}}]},{"name":"Italy","code":"IT","country_code":"IT","periods":[{"effective_from":"0000-01-01","rates":{"super_reduced":4.0,"reduced":10.0,"standard":22.0}}]},{"name":"Slovenia","code":"SI","country_code":"SI","periods":[{"effective_from":"0000-01-01","rates":{"reduced":9.5,"standard":22.0}}]},{"name":"Ireland","code":"IE","country_code":"IE","periods":[{"effective_from":"0000-01-01","rates":{"super_reduced":4.8,"reduced1":9.0,"reduced2":13.5,"standard":23.0,"parking":13.5}}]},{"name":"Sweden","code":"SE","country_code":"SE","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":6.0,"reduced2":12.0,"standard":25.0}}]},{"name":"Denmark","code":"DK","country_code":"DK","periods":[{"effective_from":"0000-01-01","rates":{"standard":25.0}}]},{"name":"Finland","code":"FI","country_code":"FI","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":10.0,"reduced2":14.0,"standard":24.0}}]},{"name":"Cyprus","code":"CY","country_code":"CY","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":5.0,"reduced2":9.0,"standard":19.0}}]},{"name":"Luxembourg","code":"LU","country_code":"LU","periods":[{"effective_from":"2016-01-01","rates":{"super_reduced":3.0,"reduced1":8.0,"standard":17.0,"parking":13.0}},{"effective_from":"2015-01-01","rates":{"super_reduced":3.0,"reduced1":8.0,"reduced2":14.0,"standard":17.0,"parking":12.0}},{"effective_from":"0000-01-01","rates":{"super_reduced":3.0,"reduced1":6.0,"reduced2":12.0,"standard":15.0,"parking":12.0}}]},{"name":"Romania","code":"RO","country_code":"RO","periods":[{"effective_from":"2017-01-01","rates":{"reduced1":5.0,"reduced2":9.0,"standard":19.0}},{"effective_from":"2016-01-01","rates":{"reduced1":5.0,"reduced2":9.0,"standard":20.0}},{"effective_from":"0000-01-01","rates":{"reduced1":5.0,"reduced2":9.0,"standard":24.0}}]},{"name":"Estonia","code":"EE","country_code":"EE","periods":[{"effective_from":"0000-01-01","rates":{"reduced":9.0,"standard":20.0}}]},{"name":"Greece","code":"EL","country_code":"GR","periods":[{"effective_from":"2016-06-01","rates":{"reduced1":6.0,"reduced2":13.5,"standard":24.0}},{"effective_from":"2016-01-01","rates":{"reduced1":6.0,"reduced2":13.5,"standard":23.0}},{"effective_from":"0000-01-01","rates":{"reduced1":6.5,"reduced2":13.0,"standard":23.0}}]},{"name":"Lithuania","code":"LT","country_code":"LT","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":5.0,"reduced2":9.0,"standard":21.0}}]},{"name":"France","code":"FR","country_code":"FR","periods":[{"effective_from":"2014-01-01","rates":{"super_reduced":2.1,"reduced1":5.5,"reduced2":10.0,"standard":20.0}},{"effective_from":"2012-01-01","rates":{"super_reduced":2.1,"reduced1":5.5,"reduced2":7.0,"standard":19.6}},{"effective_from":"0000-01-01","rates":{"super_reduced":2.1,"reduced1":5.5,"standard":19.6}}]},{"name":"Croatia","code":"HR","country_code":"HR","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":5.0,"reduced2":13.0,"standard":25.0}}]},{"name":"Belgium","code":"BE","country_code":"BE","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":6.0,"reduced2":12.0,"standard":21.0,"parking":12.0}}]},{"name":"Netherlands","code":"NL","country_code":"NL","periods":[{"effective_from":"2012-10-01","rates":{"reduced":6.0,"standard":21.0}},{"effective_from":"0000-01-01","rates":{"reduced":6.0,"standard":19.0}}]},{"name":"Slovakia","code":"SK","country_code":"SK","periods":[{"effective_from":"0000-01-01","rates":{"reduced":10.0,"standard":20.0}}]},{"name":"Germany","code":"DE","country_code":"DE","periods":[{"effective_from":"0000-01-01","rates":{"reduced":7.0,"standard":19.0}}]},{"name":"Portugal","code":"PT","country_code":"PT","periods":[{"effective_from":"0000-01-01","rates":{"reduced1":6.0,"reduced2":13.0,"standard":23.0,"parking":13.0}}]},{"name":"Austria","code":"AT","country_code":"AT","periods":[{"effective_from":"2016-01-01","rates":{"reduced1":10.0,"reduced2":13.0,"standard":20.0,"parking":13.0}},{"effective_from":"0000-01-01","rates":{"reduced":10.0,"standard":20.0,"parking":12.0}}]}]}'; $array = json_decode($json,1); foreach($array['rates'] as $k=>$v){ echo $v['periods'][0]['rates']['standard'].PHP_EOL; } // print_r($array);
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 8, Position 2 = 17
Branch analysis from position: 8
2 jumps found. (Code = 78) Position 1 = 9, Position 2 = 17
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 8
Branch analysis from position: 8
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
filename:       /in/O9EjB
function name:  (null)
number of ops:  19
compiled vars:  !0 = $json, !1 = $array, !2 = $v, !3 = $k
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, '%7B%22details%22%3A%22http%3A%2F%2Fgithub.com%2Fadamcooke%2Fvat-rates%22%2C%22version%22%3Anull%2C%22rates%22%3A%5B%7B%22name%22%3A%22Spain%22%2C%22code%22%3A%22ES%22%2C%22country_code%22%3A%22ES%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22super_reduced%22%3A4.0%2C%22reduced%22%3A10.0%2C%22standard%22%3A21.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Bulgaria%22%2C%22code%22%3A%22BG%22%2C%22country_code%22%3A%22BG%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced%22%3A9.0%2C%22standard%22%3A20.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Hungary%22%2C%22code%22%3A%22HU%22%2C%22country_code%22%3A%22HU%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A5.0%2C%22reduced2%22%3A18.0%2C%22standard%22%3A27.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Latvia%22%2C%22code%22%3A%22LV%22%2C%22country_code%22%3A%22LV%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced%22%3A12.0%2C%22standard%22%3A21.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Poland%22%2C%22code%22%3A%22PL%22%2C%22country_code%22%3A%22PL%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A5.0%2C%22reduced2%22%3A8.0%2C%22standard%22%3A23.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22United+Kingdom%22%2C%22code%22%3A%22UK%22%2C%22country_code%22%3A%22GB%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%222011-01-04%22%2C%22rates%22%3A%7B%22standard%22%3A20.0%2C%22reduced%22%3A5.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Czech+Republic%22%2C%22code%22%3A%22CZ%22%2C%22country_code%22%3A%22CZ%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced%22%3A15.0%2C%22standard%22%3A21.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Malta%22%2C%22code%22%3A%22MT%22%2C%22country_code%22%3A%22MT%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A5.0%2C%22reduced2%22%3A7.0%2C%22standard%22%3A18.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Italy%22%2C%22code%22%3A%22IT%22%2C%22country_code%22%3A%22IT%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22super_reduced%22%3A4.0%2C%22reduced%22%3A10.0%2C%22standard%22%3A22.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Slovenia%22%2C%22code%22%3A%22SI%22%2C%22country_code%22%3A%22SI%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced%22%3A9.5%2C%22standard%22%3A22.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Ireland%22%2C%22code%22%3A%22IE%22%2C%22country_code%22%3A%22IE%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22super_reduced%22%3A4.8%2C%22reduced1%22%3A9.0%2C%22reduced2%22%3A13.5%2C%22standard%22%3A23.0%2C%22parking%22%3A13.5%7D%7D%5D%7D%2C%7B%22name%22%3A%22Sweden%22%2C%22code%22%3A%22SE%22%2C%22country_code%22%3A%22SE%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A6.0%2C%22reduced2%22%3A12.0%2C%22standard%22%3A25.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Denmark%22%2C%22code%22%3A%22DK%22%2C%22country_code%22%3A%22DK%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22standard%22%3A25.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Finland%22%2C%22code%22%3A%22FI%22%2C%22country_code%22%3A%22FI%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A10.0%2C%22reduced2%22%3A14.0%2C%22standard%22%3A24.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Cyprus%22%2C%22code%22%3A%22CY%22%2C%22country_code%22%3A%22CY%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A5.0%2C%22reduced2%22%3A9.0%2C%22standard%22%3A19.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Luxembourg%22%2C%22code%22%3A%22LU%22%2C%22country_code%22%3A%22LU%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%222016-01-01%22%2C%22rates%22%3A%7B%22super_reduced%22%3A3.0%2C%22reduced1%22%3A8.0%2C%22standard%22%3A17.0%2C%22parking%22%3A13.0%7D%7D%2C%7B%22effective_from%22%3A%222015-01-01%22%2C%22rates%22%3A%7B%22super_reduced%22%3A3.0%2C%22reduced1%22%3A8.0%2C%22reduced2%22%3A14.0%2C%22standard%22%3A17.0%2C%22parking%22%3A12.0%7D%7D%2C%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22super_reduced%22%3A3.0%2C%22reduced1%22%3A6.0%2C%22reduced2%22%3A12.0%2C%22standard%22%3A15.0%2C%22parking%22%3A12.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Romania%22%2C%22code%22%3A%22RO%22%2C%22country_code%22%3A%22RO%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%222017-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A5.0%2C%22reduced2%22%3A9.0%2C%22standard%22%3A19.0%7D%7D%2C%7B%22effective_from%22%3A%222016-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A5.0%2C%22reduced2%22%3A9.0%2C%22standard%22%3A20.0%7D%7D%2C%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A5.0%2C%22reduced2%22%3A9.0%2C%22standard%22%3A24.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Estonia%22%2C%22code%22%3A%22EE%22%2C%22country_code%22%3A%22EE%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced%22%3A9.0%2C%22standard%22%3A20.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Greece%22%2C%22code%22%3A%22EL%22%2C%22country_code%22%3A%22GR%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%222016-06-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A6.0%2C%22reduced2%22%3A13.5%2C%22standard%22%3A24.0%7D%7D%2C%7B%22effective_from%22%3A%222016-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A6.0%2C%22reduced2%22%3A13.5%2C%22standard%22%3A23.0%7D%7D%2C%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A6.5%2C%22reduced2%22%3A13.0%2C%22standard%22%3A23.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Lithuania%22%2C%22code%22%3A%22LT%22%2C%22country_code%22%3A%22LT%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A5.0%2C%22reduced2%22%3A9.0%2C%22standard%22%3A21.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22France%22%2C%22code%22%3A%22FR%22%2C%22country_code%22%3A%22FR%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%222014-01-01%22%2C%22rates%22%3A%7B%22super_reduced%22%3A2.1%2C%22reduced1%22%3A5.5%2C%22reduced2%22%3A10.0%2C%22standard%22%3A20.0%7D%7D%2C%7B%22effective_from%22%3A%222012-01-01%22%2C%22rates%22%3A%7B%22super_reduced%22%3A2.1%2C%22reduced1%22%3A5.5%2C%22reduced2%22%3A7.0%2C%22standard%22%3A19.6%7D%7D%2C%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22super_reduced%22%3A2.1%2C%22reduced1%22%3A5.5%2C%22standard%22%3A19.6%7D%7D%5D%7D%2C%7B%22name%22%3A%22Croatia%22%2C%22code%22%3A%22HR%22%2C%22country_code%22%3A%22HR%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A5.0%2C%22reduced2%22%3A13.0%2C%22standard%22%3A25.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Belgium%22%2C%22code%22%3A%22BE%22%2C%22country_code%22%3A%22BE%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A6.0%2C%22reduced2%22%3A12.0%2C%22standard%22%3A21.0%2C%22parking%22%3A12.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Netherlands%22%2C%22code%22%3A%22NL%22%2C%22country_code%22%3A%22NL%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%222012-10-01%22%2C%22rates%22%3A%7B%22reduced%22%3A6.0%2C%22standard%22%3A21.0%7D%7D%2C%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced%22%3A6.0%2C%22standard%22%3A19.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Slovakia%22%2C%22code%22%3A%22SK%22%2C%22country_code%22%3A%22SK%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced%22%3A10.0%2C%22standard%22%3A20.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Germany%22%2C%22code%22%3A%22DE%22%2C%22country_code%22%3A%22DE%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced%22%3A7.0%2C%22standard%22%3A19.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Portugal%22%2C%22code%22%3A%22PT%22%2C%22country_code%22%3A%22PT%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A6.0%2C%22reduced2%22%3A13.0%2C%22standard%22%3A23.0%2C%22parking%22%3A13.0%7D%7D%5D%7D%2C%7B%22name%22%3A%22Austria%22%2C%22code%22%3A%22AT%22%2C%22country_code%22%3A%22AT%22%2C%22periods%22%3A%5B%7B%22effective_from%22%3A%222016-01-01%22%2C%22rates%22%3A%7B%22reduced1%22%3A10.0%2C%22reduced2%22%3A13.0%2C%22standard%22%3A20.0%2C%22parking%22%3A13.0%7D%7D%2C%7B%22effective_from%22%3A%220000-01-01%22%2C%22rates%22%3A%7B%22reduced%22%3A10.0%2C%22standard%22%3A20.0%2C%22parking%22%3A12.0%7D%7D%5D%7D%5D%7D'
    4     1        INIT_FCALL                                               'json_decode'
          2        SEND_VAR                                                 !0
          3        SEND_VAL                                                 1
          4        DO_ICALL                                         $5      
          5        ASSIGN                                                   !1, $5
    5     6        FETCH_DIM_R                                      ~7      !1, 'rates'
          7      > FE_RESET_R                                       $8      ~7, ->17
          8    > > FE_FETCH_R                                       ~9      $8, !2, ->17
          9    >   ASSIGN                                                   !3, ~9
    6    10        FETCH_DIM_R                                      ~11     !2, 'periods'
         11        FETCH_DIM_R                                      ~12     ~11, 0
         12        FETCH_DIM_R                                      ~13     ~12, 'rates'
         13        FETCH_DIM_R                                      ~14     ~13, 'standard'
         14        CONCAT                                           ~15     ~14, '%0A'
         15        ECHO                                                     ~15
    5    16      > JMP                                                      ->8
         17    >   FE_FREE                                                  $8
    8    18      > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
185.64 ms | 1404 KiB | 15 Q