3v4l.org

run code in 500+ 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.5.0


preferences:
164.69 ms | 2102 KiB | 17 Q