3v4l.org

run code in 300+ PHP versions simultaneously
<?php /* var_dump returning a string, in case we need it, for example to log it to a file, example: error_log("Something something: ", var_dump_str($someArray)); */ function var_dump_str(...$v){ ob_start(); var_dump(...$v); return ob_get_clean(); } ////////// //tests $exampleVar = 'referenced var'; $exampleArray = [ 'x' => 'blah', 'referenced' => &$exampleVar, ]; echo "result: " . var_dump_str($exampleArray);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/BGCgH
function name:  (null)
number of ops:  10
compiled vars:  !0 = $exampleVar, !1 = $exampleArray
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   16     0  E >   ASSIGN                                                   !0, 'referenced+var'
   18     1        INIT_ARRAY                                       ~3      'blah', 'x'
   19     2        ADD_ARRAY_ELEMENT                                ~3      !0, 'referenced'
   17     3        ASSIGN                                                   !1, ~3
   23     4        INIT_FCALL                                               'var_dump_str'
          5        SEND_VAR                                                 !1
          6        DO_FCALL                                      0  $5      
          7        CONCAT                                           ~6      'result%3A+', $5
          8        ECHO                                                     ~6
          9      > RETURN                                                   1

Function var_dump_str:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/BGCgH
function name:  var_dump_str
number of ops:  11
compiled vars:  !0 = $v
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    7     0  E >   RECV_VARIADIC                                    !0      
    8     1        INIT_FCALL                                               'ob_start'
          2        DO_ICALL                                                 
    9     3        INIT_FCALL                                               'var_dump'
          4        SEND_UNPACK                                              !0
          5        CHECK_UNDEF_ARGS                                         
          6        DO_ICALL                                                 
   10     7        INIT_FCALL                                               'ob_get_clean'
          8        DO_ICALL                                         $3      
          9      > RETURN                                                   $3
   11    10*     > RETURN                                                   null

End of function var_dump_str

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
143.65 ms | 1015 KiB | 17 Q