3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class Foo implements JsonSerializable { public function jsonSerialize() { return json_encode([1], JSON_PRETTY_PRINT); } } echo json_encode([new Foo]), "\n";
Finding entry points
Branch analysis from position: 0
Jump found. (Code = 62) Position 1 = -2
filename:       /in/13Srm
function name:  (null)
number of ops:  12
compiled vars:  none
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   3     0  E >   DECLARE_CLASS                                    $0      'foo'
         1        ADD_INTERFACE                                            $0, 'JsonSerializable'
         2        VERIFY_ABSTRACT_CLASS                                    $0
   9     3        INIT_FCALL                                               'json_encode'
         4        NEW                                              $1      :0
         5        DO_FCALL                                      0          
         6        INIT_ARRAY                                       ~3      $1
         7        SEND_VAL                                                 ~3
         8        DO_ICALL                                         $4      
         9        ECHO                                                     $4
        10        ECHO                                                     '%0A'
        11      > RETURN                                                   1

Class Foo:
Function jsonserialize:
Finding entry points
Branch analysis from position: 0
Jump found. (Code = 62) Position 1 = -2
filename:       /in/13Srm
function name:  jsonSerialize
number of ops:  6
compiled vars:  none
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   5     0  E >   INIT_FCALL                                               'json_encode'
         1        SEND_VAL                                                 <array>
         2        SEND_VAL                                                 128
         3        DO_ICALL                                         $0      
         4      > RETURN                                                   $0
   6     5*     > RETURN                                                   null

End of function jsonserialize

End of class Foo.

Generated using Vulcan Logic Dumper, using php 7.2.0