3v4l.org

run code in 300+ PHP versions simultaneously
<?php $response = json_decode('{"services": {"service": [ { "custom_name": "My Compose Service", "service_id": "73", "cloud_services": {"cloud_service": [ { "custom_name": "My Personal TAI Cloud", "service_id": "71" }, { "custom_name": "My Professional TAI Cloud", "service_id": "72" }, null ]} }, null ]}}', true); var_dump(iterator_to_array(new RecursiveCallbackFilterIterator(new RecursiveArrayIterator ($response), function($current, $key, $iterator) { var_dump($current); return !is_null($current); })));
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/b6JWH
function name:  (null)
number of ops:  20
compiled vars:  !0 = $response
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   INIT_FCALL                                               'json_decode'
          1        SEND_VAL                                                 '%7B%22services%22%3A+%7B%22service%22%3A+%5B%0A++++++++++++++%7B%0A++++++++++++++%22custom_name%22%3A+%22My+Compose+Service%22%2C%0A++++++++++++++%22service_id%22%3A+%2273%22%2C%0A++++++++++++++%22cloud_services%22%3A+%7B%22cloud_service%22%3A+++++++%5B%0A++++++++++++++++++++++++++%7B%0A++++++++++++++++++++%22custom_name%22%3A+%22My+Personal+TAI+Cloud%22%2C%0A++++++++++++++++++++%22service_id%22%3A+%2271%22%0A+++++++++++++++++%7D%2C%0A++++++++++++++++++++++++++%7B%0A++++++++++++++++++++%22custom_name%22%3A+%22My+Professional+TAI+Cloud%22%2C%0A++++++++++++++++++++%22service_id%22%3A+%2272%22%0A+++++++++++++++++%7D%2C%0A+++++++++++++++++null%0A++++++++++++++%5D%7D%0A+++++++++++%7D%2C%0A+++++++++++null%0A++++++++%5D%7D%7D'
   20     2        SEND_VAL                                                 <true>
          3        DO_ICALL                                         $1      
    3     4        ASSIGN                                                   !0, $1
   23     5        INIT_FCALL                                               'var_dump'
          6        INIT_FCALL                                               'iterator_to_array'
          7        NEW                                              $3      'RecursiveCallbackFilterIterator'
          8        NEW                                              $4      'RecursiveArrayIterator'
          9        SEND_VAR_EX                                              !0
         10        DO_FCALL                                      0          
         11        SEND_VAR_NO_REF_EX                                       $4
         12        DECLARE_LAMBDA_FUNCTION                                  '%00%7Bclosure%7D%2Fin%2Fb6JWH%3A23%240'
   26    13        SEND_VAL_EX                                              ~6
         14        DO_FCALL                                      0          
         15        SEND_VAR                                                 $3
         16        DO_ICALL                                         $8      
         17        SEND_VAR                                                 $8
         18        DO_ICALL                                                 
         19      > RETURN                                                   1

Function %00%7Bclosure%7D%2Fin%2Fb6JWH%3A23%240:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/b6JWH
function name:  {closure}
number of ops:  10
compiled vars:  !0 = $current, !1 = $key, !2 = $iterator
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   23     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
   24     3        INIT_FCALL                                               'var_dump'
          4        SEND_VAR                                                 !0
          5        DO_ICALL                                                 
   25     6        TYPE_CHECK                                    2  ~4      !0
          7        BOOL_NOT                                         ~5      ~4
          8      > RETURN                                                   ~5
   26     9*     > RETURN                                                   null

End of function %00%7Bclosure%7D%2Fin%2Fb6JWH%3A23%240

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
173.24 ms | 1400 KiB | 19 Q