Documentation and sample code for PHP opcodes

This is a list of PHP's opcodes with sample PHP code showing the use of each one. The list is not quite complete.

Number Name Sample code?
0NOPyes
1ADDyes
2SUByes
3MULyes
4DIVyes
5MODyes
6SLyes
7SRyes
8CONCATyes
9BW_ORyes
10BW_ANDyes
11BW_XORyes
12BW_NOTyes
13BOOL_NOTyes
14BOOL_XORyes
15IS_IDENTICALyes
16IS_NOT_IDENTICALyes
17IS_EQUALyes
18IS_NOT_EQUALyes
19IS_SMALLERyes
20IS_SMALLER_OR_EQUALyes
21CASTyes
22QM_ASSIGNyes
23ASSIGN_ADDyes
24ASSIGN_SUByes
25ASSIGN_MULyes
26ASSIGN_DIVyes
27ASSIGN_MODyes
28ASSIGN_SLyes
29ASSIGN_SRyes
30ASSIGN_CONCATyes
31ASSIGN_BW_ORyes
32ASSIGN_BW_ANDyes
33ASSIGN_BW_XORyes
34PRE_INCyes
35PRE_DECyes
36POST_INCyes
37POST_DECyes
38ASSIGNyes
39ASSIGN_REFyes
40ECHOyes
41PRINTyes
42not documentedno
43JMPZyes
44JMPNZyes
45JMPZNZyes
46JMPZ_EXyes
47JMPNZ_EXyes
48CASEyes
49SWITCH_FREEyes
50BRKyes
51not documentedno
52BOOLyes
53INIT_STRINGyes
54ADD_CHARyes
55ADD_STRINGyes
56ADD_VARyes
57BEGIN_SILENCEyes
58END_SILENCEyes
59INIT_FCALL_BY_NAMEyes
60DO_FCALLyes
61DO_FCALL_BY_NAMEyes
62RETURNyes
63RECVyes
64RECV_INITyes
65SEND_VALyes
66SEND_VARyes
67SEND_REFyes
68NEWyes
69not documentedno
70FREEyes
71INIT_ARRAYyes
72ADD_ARRAY_ELEMENTyes
73INCLUDE_OR_EVALyes
74UNSET_VARyes
75UNSET_DIMyes
76UNSET_OBJyes
77FE_RESETyes
78FE_FETCHyes
79EXITyes
80FETCH_Ryes
81FETCH_DIM_Ryes
82FETCH_OBJ_Ryes
83FETCH_Wyes
84FETCH_DIM_Wyes
85FETCH_OBJ_Wyes
86FETCH_RWyes
87FETCH_DIM_RWyes
88FETCH_OBJ_RWyes
89FETCH_ISyes
90FETCH_DIM_ISno
91FETCH_OBJ_ISno
92FETCH_FUNC_ARGyes
93FETCH_DIM_FUNC_ARGyes
94FETCH_OBJ_FUNC_ARGyes
95FETCH_UNSETno
96FETCH_DIM_UNSETno
97FETCH_OBJ_UNSETno
98FETCH_DIM_TMP_VARyes
99FETCH_CONSTANTyes
100not documentedno
101EXT_STMTno
102EXT_FCALL_BEGINno
103EXT_FCALL_ENDno
104EXT_NOPno
105TICKSyes
106SEND_VAR_NO_REFno
107CATCHyes
108THROWyes
109FETCH_CLASSyes
110CLONEyes
111not documentedno
112INIT_METHOD_CALLyes
113INIT_STATIC_METHOD_CALLyes
114ISSET_ISEMPTY_VARyes
115ISSET_ISEMPTY_DIM_OBJyes
116not documentedno
117not documentedno
118not documentedno
119not documentedno
120not documentedno
121not documentedno
122not documentedno
123not documentedno
124not documentedno
125not documentedno
126not documentedno
127not documentedno
128not documentedno
129not documentedno
130not documentedno
131not documentedno
132PRE_INC_OBJyes
133PRE_DEC_OBJyes
134POST_INC_OBJyes
135POST_DEC_OBJyes
136ASSIGN_OBJyes
137not documentedno
138INSTANCEOFyes
139DECLARE_CLASSyes
140DECLARE_INHERITED_CLASSyes
141DECLARE_FUNCTIONyes
142RAISE_ABSTRACT_ERRORyes
143not documentedno
144ADD_INTERFACEno
145not documentedno
146VERIFY_ABSTRACT_CLASSno
147ASSIGN_DIMyes
148ISSET_ISEMPTY_PROP_OBJyes
149HANDLE_EXCEPTIONyes
150USER_OPCODEno

OPCODE :ADD

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 ADD     ~0 1,2
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :ADD_ARRAY_ELEMENT

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 1
  1 ADD_ARRAY_ELEMENT     ~0 2
  2 ADD_ARRAY_ELEMENT     ~0 3
  3 ASSIGN       !0,~0
7 4 SEND_VAR       !0
  5 DO_FCALL   1   'print_r'
8 6 RETURN       1

OPCODE :ADD_CHAR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 ECHO       'hello%5C+world'
7 1 RETURN       1

OPCODE :ADD_INTERFACE

PHP source code


PHP opcodes

OPCODE :ADD_STRING

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ADD_STRING     ~0 'hello'
  1 ADD_VAR     ~0 ~0,!0
  2 ADD_STRING     ~0 ~0,'+world'
  3 ECHO       ~0
7 4 RETURN       1

OPCODE :ADD_VAR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ADD_STRING     ~0 'hello'
  1 ADD_VAR     ~0 ~0,!0
  2 ADD_STRING     ~0 ~0,'+world'
  3 ECHO       ~0
7 4 RETURN       1

OPCODE :ASSIGN

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN       !0,1
7 1 ASSIGN       !0,'a'
8 2 ZEND_FETCH_CLASS     :2 'A'
  3 NEW     $3 :2
  4 DO_FCALL_BY_NAME   0    
  5 ASSIGN       !0,$3
9 6 RETURN       1

OPCODE :ASSIGN_ADD

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_ADD       !0,3
7 1 RETURN       1

OPCODE :ASSIGN_BW_AND

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_BW_AND       !0,64
7 1 RETURN       1

OPCODE :ASSIGN_BW_OR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_BW_OR       !0,64
7 1 RETURN       1

OPCODE :ASSIGN_BW_XOR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_BW_XOR       !0,64
7 1 RETURN       1

OPCODE :ASSIGN_CONCAT

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_CONCAT       !0,'z'
7 1 RETURN       1

OPCODE :ASSIGN_DIM

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$b, !1=$a
line # op fetch ext return operands
6 0 ASSIGN       !0,1
7 1 FETCH_DIM_W     $1 !1,1
  2 ZEND_ASSIGN_DIM       $1,2
  3 ZEND_OP_DATA       !0,$3
8 4 RETURN       1

OPCODE :ASSIGN_DIV

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_DIV       !0,3
7 1 RETURN       1

OPCODE :ASSIGN_MOD

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_MOD       !0,3
7 1 RETURN       1

OPCODE :ASSIGN_MUL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_MUL       !0,3
7 1 RETURN       1

OPCODE :ASSIGN_OBJ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj, !1=$otherobj
line # op fetch ext return operands
6 0 ZEND_ASSIGN_OBJ       !0,'a'
  1 ZEND_OP_DATA       !1
7 2 RETURN       1

OPCODE :ASSIGN_REF

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 FETCH_W globallock   $0 'a'
  1 ASSIGN_REF       !0,$0
7 2 RETURN       1

OPCODE :ASSIGN_SL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_SL       !0,3
7 1 RETURN       1

OPCODE :ASSIGN_SR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_SR       !0,3
7 1 RETURN       1

OPCODE :ASSIGN_SUB

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN_SUB       !0,3
7 1 RETURN       1

OPCODE :BEGIN_SILENCE

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$my_file, !1=$php_errormsg
line # op fetch ext return operands
7 0 BEGIN_SILENCE     ~0  
  1 SEND_VAL       'non_existent_file'
  2 DO_FCALL   1   'file'
  3 END_SILENCE       ~0
  4 ASSIGN     $2 !0,$1
  5 JMPNZ_EX     ~3 $2,->11
8 6 ADD_STRING     ~4 'error%3A%27'
  7 ADD_VAR     ~4 ~4,!1
  8 ADD_CHAR     ~4 ~4,39
  9 EXIT       ~4
  10 BOOL     ~3 true
  11 FREE       ~3
9 12 RETURN       1

OPCODE :BOOL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 JMPNZ_EX     ~0 1,->2
  1 BOOL     ~0 2
  2 JMPNZ_EX     ~0 ~0,->4
  3 BOOL     ~0 1
  4 JMPZ       ~0,->7
  5 ECHO       'foo'
  6 JMP       ->7
9 7 RETURN       1

OPCODE :BOOL_NOT

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 BOOL_NOT     ~0 1
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :BOOL_XOR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 BOOL_XOR     ~0 1,2
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :BRK

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x
line # op fetch ext return operands
6 0 ASSIGN       !0,0
7 1 JMPZ       1,->7
8 2 IS_EQUAL     ~1 !0,0
  3 JMPZ       ~1,->6
  4 BRK       1
  5 JMP       ->6
9 6 JMP       ->1
10 7 RETURN       1

OPCODE :BW_AND

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 BW_AND     ~0 1,2
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :BW_NOT

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 BW_NOT     ~0 15
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :BW_OR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 BW_OR     ~0 1,2
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :BW_XOR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 BW_XOR     ~0 1,2
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :CASE

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$i
line # op fetch ext return operands
6 0 ASSIGN       !0,0
8 1 CASE     ~1 !0,0
  2 JMPZ       ~1,->6
9 3 ECHO       'i%3D0'
10 4 BRK       1
11 5 JMP       ->8
  6 CASE     ~1 !0,1
  7 JMPZ       ~1,->11
12 8 ECHO       'i%3D1'
13 9 BRK       1
14 10 JMP       ->13
  11 CASE     ~1 !0,2
  12 JMPZ       ~1,->16
15 13 ECHO       'i%3D2'
16 14 BRK       1
17 15 JMP       ->16
18 16 RETURN       1

OPCODE :CAST

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 CAST     ~0 1
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :CATCH

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$error, !1=$e
line # op fetch ext return operands
7 0 ASSIGN       !0,'Always+throw+this+error'
8 1 ZEND_FETCH_CLASS     :1 'Exception'
  2 NEW     $2 :1
  3 SEND_VAR       !0
  4 DO_FCALL_BY_NAME   1    
  5 ZEND_THROW   0   $2
11 6 ECHO       'Never+executed'
13 7 JMP       ->15
  8 ZEND_FETCH_CLASS     :4 'Exception'
  9 ZEND_CATCH   15   $4,!1
14 10 ECHO       'Caught+exception%3A+'
  11 ZEND_INIT_METHOD_CALL       !1,'getMessage'
  12 DO_FCALL_BY_NAME   0    
  13 ECHO       $6
  14 ECHO       '%0A'
18 15 ECHO       'Hello+World'
19 16 RETURN       1

OPCODE :CLONE

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj, !1=$copy
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 ZEND_CLONE     $4 !0
  5 ASSIGN       !1,$4
8 6 RETURN       1

OPCODE :CONCAT

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 CONCAT     ~0 'hello','world'
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :DECLARE_CLASS

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 NOP        
11 1 RETURN       1

Function name: methodA
Compiled variables: none
line # op fetch ext return operands
8 0 ECHO       'hello+world'
9 1 RETURN       null

OPCODE :DECLARE_FUNCTION

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 NOP        
10 1 RETURN       1

Function name: funcA
Compiled variables: none
line # op fetch ext return operands
8 0 RETURN       null

OPCODE :DECLARE_INHERITED_CLASS

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$b
line # op fetch ext return operands
6 0 JMPZ       !0,->5
7 1 ZEND_DECLARE_CLASS     $0 '%00foo%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be503b','foo'
14 2 ZEND_FETCH_CLASS     :1 'Foo'
  3 ZEND_DECLARE_INHERITED_CLASS     $2 '%00bar%2Fmnt%2Fworkspace%2Fws_phpscripts%2FPHPopcodes%2Fphpsamples%2FDECLARE_INHERITED_CLASS.php0xb7be50bc','bar'
19 4 JMP       ->5
20 5 RETURN       1

Function name: staticValue
Compiled variables: !0=$my_static
line # op fetch ext return operands
10 0 ZEND_FETCH_CLASS        
  1 FETCH_R staticmember   $1 'my_static'
  2 RETURN       $1
11 3 RETURN       null

Function name: fooStatic
Compiled variables: !0=$my_static
line # op fetch ext return operands
16 0 ZEND_FETCH_CLASS     :0  
  1 FETCH_R staticmember   $1 'my_static'
  2 ECHO       $1
17 3 RETURN       null

OPCODE :DIV

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 DIV     ~0 6,3
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :DO_FCALL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 DO_FCALL   0   'phpinfo'
  1 ASSIGN       !0,$0
7 2 RETURN       1

OPCODE :DO_FCALL_BY_NAME

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 ASSIGN       !0,'phpinfo'
7 1 INIT_FCALL_BY_NAME       !0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !1,$1
8 4 RETURN       1

OPCODE :ECHO

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 ECHO       'hello+world'
7 1 RETURN       1

OPCODE :END_SILENCE

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$my_file, !1=$php_errormsg
line # op fetch ext return operands
6 0 BEGIN_SILENCE     ~0  
  1 SEND_VAL       'non_existent_file'
  2 DO_FCALL   1   'file'
  3 END_SILENCE       ~0
  4 ASSIGN     $2 !0,$1
  5 JMPNZ_EX     ~3 $2,->11
7 6 ADD_STRING     ~4 'error%3A%27'
  7 ADD_VAR     ~4 ~4,!1
  8 ADD_CHAR     ~4 ~4,39
  9 EXIT       ~4
  10 BOOL     ~3 true
  11 FREE       ~3
8 12 RETURN       1

OPCODE :EXIT

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 EXIT       'foobar'
7 1 RETURN       1

OPCODE :EXT_FCALL_BEGIN

PHP source code


PHP opcodes

OPCODE :EXT_FCALL_END

PHP source code


PHP opcodes

OPCODE :EXT_NOP

PHP source code


PHP opcodes

OPCODE :EXT_STMT

PHP source code


PHP opcodes

OPCODE :FETCH_CLASS

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 RETURN       1

OPCODE :FETCH_CONSTANT

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 SEND_VAL       'FOO'
  1 SEND_VAL       'something'
  2 DO_FCALL   2   'define'
7 3 FETCH_CONSTANT     ~1 'FOO'
  4 ECHO       ~1
8 5 RETURN       1

OPCODE :FETCH_DIM_FUNC_ARG

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$z
line # op fetch ext return operands
7 0 NOP        
12 1 INIT_ARRAY     ~0 0
  2 ADD_ARRAY_ELEMENT     ~0 1
  3 ADD_ARRAY_ELEMENT     ~0 2
  4 ADD_ARRAY_ELEMENT     ~0 3
  5 ADD_ARRAY_ELEMENT     ~0 4
  6 ADD_ARRAY_ELEMENT     ~0 5
  7 ASSIGN       !0,~0
13 8 ASSIGN       !1,'foo'
15 9 INIT_FCALL_BY_NAME       !1
  10 FETCH_DIM_FUNC_ARG     $3 !0,0
  11 SEND_VAR       $3
  12 DO_FCALL_BY_NAME   1    
17 13 RETURN       1

Function name: foo
Compiled variables: !0=$x
line # op fetch ext return operands
7 0 RECV       1
9 1 PRINT     ~0 !0
  2 FREE       ~0
10 3 RETURN       null

OPCODE :FETCH_DIM_IS

PHP source code


PHP opcodes

OPCODE :FETCH_DIM_R

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 1
  1 ADD_ARRAY_ELEMENT     ~0 2
  2 ADD_ARRAY_ELEMENT     ~0 3
  3 ASSIGN       !0,~0
7 4 ASSIGN       !1,'x'
8 5 FETCH_DIM_R     $3 !1,0
  6 FETCH_R local   $4 $3
  7 ECHO       $4
9 8 RETURN       1

OPCODE :FETCH_DIM_RW

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 1
  1 ADD_ARRAY_ELEMENT     ~0 2
  2 ADD_ARRAY_ELEMENT     ~0 3
  3 ASSIGN       !0,~0
7 4 ASSIGN       !1,'x'
8 5 FETCH_DIM_R     $3 !1,0
  6 FETCH_RW local   $4 $3
  7 POST_INC     ~5 $4
  8 FREE       ~5
9 9 RETURN       1

OPCODE :FETCH_DIM_TMP_VAR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 'X'
  1 FETCH_DIM_TMP_VAR     $1 ~0,0
  2 ASSIGN       !0,$1
  3 FREE       ~0
7 4 RETURN       1

OPCODE :FETCH_DIM_UNSET

PHP source code


PHP opcodes

OPCODE :FETCH_DIM_W

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ASSIGN       !0,1
7 1 IS_SMALLER     ~1 0,!0
  2 JMPZ       ~1,->5
8 3 ASSIGN       !0,0
9 4 JMP       ->1
23 5 RETURN       1

OPCODE :FETCH_FUNC_ARG

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$y, !2=$z
line # op fetch ext return operands
6 0 NOP        
10 1 ASSIGN       !0,1
11 2 ASSIGN       !1,'x'
12 3 ASSIGN       !2,'foo'
14 4 INIT_FCALL_BY_NAME       !2
  5 FETCH_FUNC_ARG local   $3 !1
  6 SEND_VAR       $3
  7 DO_FCALL_BY_NAME   1    
16 8 RETURN       1

Function name: foo
Compiled variables: !0=$x
line # op fetch ext return operands
6 0 RECV       1
8 1 RETURN       null

OPCODE :FETCH_IS

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 FETCH_IS     $0 '_SESSION'
  1 ZEND_ISSET_ISEMPTY_DIM_OBJ   1 ~1 $0,'userid'
  2 ECHO       ~1
7 3 FETCH_IS     $2 '_SESSION'
  4 FETCH_DIM_IS     $3 $2,'userid'
  5 ZEND_ISSET_ISEMPTY_DIM_OBJ   1 ~4 $3,1
  6 ECHO       ~4
8 7 FETCH_IS     $5 '_SESSION'
  8 FETCH_OBJ_IS     $6 $5,'prop'
  9 ZEND_ISSET_ISEMPTY_PROP_OBJ     ~7 $6,'prop'
  10 ECHO       ~7
9 11 RETURN       1

OPCODE :FETCH_OBJ_FUNC_ARG

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$z, !1=$obj
line # op fetch ext return operands
6 0 INCLUDE_OR_EVAL       '.%2FclassA.php',INCLUDE
8 1 NOP        
13 2 ASSIGN       !0,'foo'
15 3 ZEND_FETCH_CLASS     :2 'A'
  4 NEW     $3 :2
  5 DO_FCALL_BY_NAME   0    
  6 ASSIGN       !1,$3
16 7 FETCH_OBJ_R     $6 !1,'num'
  8 PRINT     ~7 $6
  9 FREE       ~7
17 10 INIT_FCALL_BY_NAME       !0
  11 FETCH_OBJ_FUNC_ARG     $8 !1,'num'
  12 SEND_VAR       $8
  13 DO_FCALL_BY_NAME   1    
19 14 RETURN       1

Function name: foo
Compiled variables: !0=$x
line # op fetch ext return operands
8 0 RECV       1
10 1 PRINT     ~0 !0
  2 FREE       ~0
11 3 RETURN       null

Function name: foo
Compiled variables: !0=$x
line # op fetch ext return operands
8 0 RECV       1
10 1 PRINT     ~0 !0
  2 FREE       ~0
11 3 RETURN       null

OPCODE :FETCH_OBJ_IS

PHP source code


PHP opcodes

OPCODE :FETCH_OBJ_R

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 ASSIGN       !1,'x'
8 5 FETCH_R local   $5 !1
  6 FETCH_OBJ_R     $6 $5,'num'
  7 ECHO       $6
9 8 RETURN       1

OPCODE :FETCH_OBJ_RW

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 ASSIGN       !1,'x'
8 5 FETCH_RW local   $5 !1
  6 ZEND_POST_INC_OBJ     ~7 $5,'num'
  7 FREE       ~7
9 8 RETURN       1

OPCODE :FETCH_OBJ_UNSET

PHP source code


PHP opcodes

OPCODE :FETCH_OBJ_W

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 ASSIGN       !1,'x'
8 5 FETCH_W local   $5 !1
  6 ZEND_ASSIGN_OBJ       $5,'num'
  7 ZEND_OP_DATA       1
9 8 RETURN       1

OPCODE :FETCH_R

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 ASSIGN       !0,1
7 1 ASSIGN       !1,'x'
8 2 FETCH_R local   $2 !1
  3 ECHO       $2
9 4 RETURN       1

OPCODE :FETCH_RW

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 ASSIGN       !0,1
7 1 ASSIGN       !1,'x'
8 2 FETCH_RW local   $2 !1
  3 POST_INC     ~3 $2
  4 FREE       ~3
9 5 RETURN       1

OPCODE :FETCH_UNSET

PHP source code


PHP opcodes

OPCODE :FETCH_W

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 ASSIGN       !0,1
7 1 ASSIGN       !1,'x'
8 2 FETCH_W local   $2 !1
  3 ASSIGN       $2,2
9 4 RETURN       1

OPCODE :FE_FETCH

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a, !1=$num
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 1
  1 ADD_ARRAY_ELEMENT     ~0 2
  2 ADD_ARRAY_ELEMENT     ~0 3
  3 ASSIGN       !0,~0
7 4 FE_RESET     $2 !0,->11
  5 FE_FETCH     $3 $2,->11
  6 ZEND_OP_DATA        
  7 ASSIGN       !1,$3
8 8 PRINT     ~5 !1
  9 FREE       ~5
9 10 JMP       ->5
  11 SWITCH_FREE       $2
10 12 RETURN       1

OPCODE :FE_RESET

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a, !1=$num
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 1
  1 ADD_ARRAY_ELEMENT     ~0 2
  2 ADD_ARRAY_ELEMENT     ~0 3
  3 ASSIGN       !0,~0
7 4 FE_RESET     $2 !0,->11
  5 FE_FETCH     $3 $2,->11
  6 ZEND_OP_DATA        
  7 ASSIGN       !1,$3
8 8 PRINT     ~5 !1
  9 FREE       ~5
9 10 JMP       ->5
  11 SWITCH_FREE       $2
10 12 RETURN       1

OPCODE :FREE

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 PRINT     ~0 'Hello+World'
  1 FREE       ~0
7 2 RETURN       1

OPCODE :HANDLE_EXCEPTION

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 RETURN       1

OPCODE :INCLUDE_OR_EVAL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 INCLUDE_OR_EVAL       'test.php',INCLUDE
7 1 INCLUDE_OR_EVAL       'test.php',EVAL
8 2 RETURN       1

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
2 0 DO_FCALL   0   'phpinfo'
3 1 RETURN       1

OPCODE :INIT_ARRAY

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 1
  1 ADD_ARRAY_ELEMENT     ~0 2
  2 ADD_ARRAY_ELEMENT     ~0 3
  3 ASSIGN       !0,~0
7 4 SEND_VAR       !0
  5 DO_FCALL   1   'print_r'
8 6 RETURN       1

OPCODE :INIT_FCALL_BY_NAME

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 ASSIGN       !0,'phpinfo'
7 1 INIT_FCALL_BY_NAME       !0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !1,$1
8 4 RETURN       1

OPCODE :INIT_METHOD_CALL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 NOP        
13 1 ZEND_FETCH_CLASS     :1 'A'
  2 NEW     $2 :1
  3 DO_FCALL_BY_NAME   0    
  4 ASSIGN       !0,$2
14 5 ZEND_INIT_METHOD_CALL       !0,'incrementNum'
  6 DO_FCALL_BY_NAME   0    
16 7 RETURN       1

Function name: incrementNum
Compiled variables: !0=$num
line # op fetch ext return operands
9 0 POST_INC     ~0 !0
  1 FREE       ~0
10 2 RETURN       null

OPCODE :INIT_STATIC_METHOD_CALL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 NOP        
12 1 ZEND_INIT_STATIC_METHOD_CALL       'Foo','aStaticMethod'
  2 ZEND_OP_DATA       'foo%3A%3Aastaticmethod'
  3 DO_FCALL_BY_NAME   0    
13 4 RETURN       1

Function name: aStaticMethod
Compiled variables: none
line # op fetch ext return operands
8 0 ECHO       'hello+world%0A'
9 1 RETURN       null

OPCODE :INIT_STRING

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ADD_STRING     ~0 'hello'
  1 ADD_VAR     ~0 ~0,!0
  2 ADD_STRING     ~0 ~0,'+world'
  3 ECHO       ~0
7 4 RETURN       1

OPCODE :INSTANCEOF

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
8 4 ZEND_FETCH_CLASS     :4 'A'
  5 ZEND_INSTANCEOF     ~5 !0,$4
  6 JMPZ       ~5,->9
9 7 ECHO       'A'
10 8 JMP       ->9
11 9 RETURN       1

OPCODE :ISSET_ISEMPTY_DIM_OBJ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ZEND_ISSET_ISEMPTY_DIM_OBJ   1 ~0 !0,0
  1 JMPZ       ~0,->4
  2 RETURN       0
  3 JMP       ->4
7 4 RETURN       1

OPCODE :ISSET_ISEMPTY_PROP_OBJ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 ZEND_ISSET_ISEMPTY_PROP_OBJ     ~4 !0,'num'
  5 JMPZ       ~4,->8
  6 RETURN       0
  7 JMP       ->8
8 8 RETURN       1

OPCODE :ISSET_ISEMPTY_VAR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 ZEND_ISSET_ISEMPTY_VAR   5 ~0 !0
  1 JMPZ       ~0,->4
  2 RETURN       0
  3 JMP       ->4
7 4 RETURN       1

OPCODE :IS_EQUAL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 IS_EQUAL     ~0 1,1
  1 ECHO       ~0
7 2 IS_EQUAL     ~1 1,'c'
  3 ECHO       ~1
8 4 RETURN       1

OPCODE :IS_IDENTICAL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 IS_IDENTICAL     ~0 1,1
  1 ECHO       ~0
7 2 IS_IDENTICAL     ~1 1,'a'
  3 ECHO       ~1
8 4 RETURN       1

OPCODE :IS_NOT_EQUAL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 IS_NOT_EQUAL     ~0 1,1
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :IS_NOT_IDENTICAL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 IS_NOT_IDENTICAL     ~0 1,1
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :IS_SMALLER

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 IS_SMALLER     ~0 1,2
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :IS_SMALLER_OR_EQUAL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 IS_SMALLER_OR_EQUAL     ~0 2,1
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :JMPNZ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$i
line # op fetch ext return operands
6 0 ASSIGN       !0,0
  1 IS_SMALLER     ~1 !0,3
  2 JMPZNZ   6   ~1,->8
  3 POST_INC     ~2 !0
  4 FREE       ~2
  5 JMP       ->1
7 6 ECHO       'hi'
8 7 JMP       ->3
9 8 RETURN       1

OPCODE :JMPNZ_EX

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 BW_XOR     ~0 1,2
  1 JMPZ       ~0,->4
  2 RETURN       null
  3 JMP       ->4
7 4 RETURN       1

OPCODE :JMPZ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 IS_NOT_EQUAL     ~0 !0,0
  1 JMPZ       ~0,->4
  2 ECHO       'foo'
  3 JMP       ->4
7 4 RETURN       1

OPCODE :JMPZNZ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$i
line # op fetch ext return operands
6 0 ASSIGN       !0,0
  1 IS_SMALLER     ~1 !0,3
  2 JMPZNZ   6   ~1,->8
  3 POST_INC     ~2 !0
  4 FREE       ~2
  5 JMP       ->1
7 6 ECHO       'hi'
8 7 JMP       ->3
9 8 RETURN       1

OPCODE :JMPZ_EX

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
7 0 RETURN       1

OPCODE :MOD

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 MOD     ~0 6,3
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :MUL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 MUL     ~0 2,3
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :NEW

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 RETURN       1

OPCODE :NOP

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 NOP        
7 1 RETURN       1

Function name: A
Compiled variables: none
line # op fetch ext return operands
6 0 RETURN       null

OPCODE :POST_DEC

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 POST_DEC     ~0 !0
  1 FREE       ~0
7 2 RETURN       1

OPCODE :POST_DEC_OBJ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 ZEND_POST_DEC_OBJ     ~5 !0,'num'
  5 FREE       ~5
8 6 RETURN       1

OPCODE :POST_INC

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 POST_INC     ~0 !0
  1 FREE       ~0
7 2 RETURN       1

OPCODE :POST_INC_OBJ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 ZEND_POST_INC_OBJ     ~5 !0,'num'
  5 FREE       ~5
8 6 RETURN       1

OPCODE :PRE_DEC

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 PRE_DEC       !0
7 1 RETURN       1

OPCODE :PRE_DEC_OBJ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 ZEND_PRE_DEC_OBJ       !0,'num'
8 5 RETURN       1

OPCODE :PRE_INC

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 PRE_INC       !0
7 1 RETURN       1

OPCODE :PRE_INC_OBJ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 ZEND_PRE_INC_OBJ       !0,'num'
8 5 RETURN       1

OPCODE :PRINT

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 PRINT     ~0 'Hello+World'
  1 FREE       ~0
7 2 RETURN       1

OPCODE :QM_ASSIGN

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 NOP        
10 1 NOP        
14 2 RETURN       1

Function name: A
Compiled variables: none
line # op fetch ext return operands
7 0 JMPZ       1,->3
  1 QM_ASSIGN     ~0 2
  2 JMP       ->4
  3 QM_ASSIGN     ~0 3
  4 ECHO       ~0
8 5 RETURN       null

Function name: B
Compiled variables: !0=$b, !1=$a
line # op fetch ext return operands
11 0 ASSIGN       !0,0
12 1 IS_SMALLER     ~1 1,!0
  2 JMPZ       ~1,->5
  3 QM_ASSIGN     ~2 10
  4 JMP       ->6
  5 QM_ASSIGN     ~2 11
  6 ASSIGN       !1,~2
13 7 RETURN       null

OPCODE :RAISE_ABSTRACT_ERROR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$t2, !1=$t
line # op fetch ext return operands
7 0 NOP        
11 1 NOP        
  2 NOP        
17 3 ZEND_FETCH_CLASS     :3 'pass'
  4 NEW     $4 :3
  5 DO_FCALL_BY_NAME   0    
  6 ASSIGN       !0,$4
18 7 ZEND_INIT_METHOD_CALL       !0,'show'
  8 DO_FCALL_BY_NAME   0    
20 9 ZEND_FETCH_CLASS     :9 'fail'
  10 NEW     $10 :9
  11 DO_FCALL_BY_NAME   0    
  12 ASSIGN       !1,$10
21 13 ZEND_INIT_METHOD_CALL       !1,'show'
  14 DO_FCALL_BY_NAME   0    
23 15 ECHO       'Done%0A'
24 16 RETURN       1

Function name: show
Compiled variables: none
line # op fetch ext return operands
8 0 ZEND_RAISE_ABSTRACT_ERROR        
  1 RETURN       null

Function name: show
Compiled variables: none
line # op fetch ext return operands
13 0 ECHO       'Call+to+function+show%28%29%0A'
14 1 RETURN       null

OPCODE :RECV

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 NOP        
7 1 RETURN       1

Function name: hello
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 RECV       1
  1 RETURN       null

OPCODE :RECV_INIT

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 NOP        
7 1 RETURN       1

Function name: hello
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 RECV_INIT       1,5
  1 RETURN       null

OPCODE :RETURN

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 RETURN       1
7 1 RETURN       1

OPCODE :SEND_REF

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 BEGIN_SILENCE     ~0  
  1 FETCH_W local   $1 'input'
  2 SEND_REF       $1
  3 DO_FCALL   1   'each'
  4 END_SILENCE       ~0
7 5 RETURN       1

OPCODE :SEND_VAL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 NOP        
10 1 SEND_VAL       'HELLO'
  2 DO_FCALL   1   'funca'
12 3 SEND_VAL       'IN_PHPBB'
  4 DO_FCALL   1   'defined'
13 5 RETURN       1

Function name: funcA
Compiled variables: !0=$msg
line # op fetch ext return operands
6 0 RECV       1
7 1 PRINT     ~0 !0
  2 FREE       ~0
8 3 RETURN       null

OPCODE :SEND_VAR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 1
  1 ADD_ARRAY_ELEMENT     ~0 2
  2 ADD_ARRAY_ELEMENT     ~0 3
  3 ASSIGN       !0,~0
7 4 SEND_VAR       !0
  5 DO_FCALL   1   'is_array'
  6 JMPZ       $2,->9
  7 RETURN       0
  8 JMP       ->9
8 9 RETURN       1

OPCODE :SEND_VAR_NO_REF

PHP source code


PHP opcodes

OPCODE :SL

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 SL     ~0 8,2
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :SR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 SR     ~0 8,2
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :SUB

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: none
line # op fetch ext return operands
6 0 SUB     ~0 1,2
  1 ECHO       ~0
7 2 RETURN       1

OPCODE :SWITCH_FREE

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a, !1=$num
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 1
  1 ADD_ARRAY_ELEMENT     ~0 2
  2 ADD_ARRAY_ELEMENT     ~0 3
  3 ASSIGN       !0,~0
7 4 FE_RESET     $2 !0,->11
  5 FE_FETCH     $3 $2,->11
  6 ZEND_OP_DATA        
  7 ASSIGN       !1,$3
8 8 PRINT     ~5 !1
  9 FREE       ~5
9 10 JMP       ->5
  11 SWITCH_FREE       $2
10 12 RETURN       1

OPCODE :THROW

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$error, !1=$e
line # op fetch ext return operands
7 0 ASSIGN       !0,'Always+throw+this+error'
8 1 ZEND_FETCH_CLASS     :1 'Exception'
  2 NEW     $2 :1
  3 SEND_VAR       !0
  4 DO_FCALL_BY_NAME   1    
  5 ZEND_THROW   0   $2
11 6 ECHO       'Never+executed'
13 7 JMP       ->15
  8 ZEND_FETCH_CLASS     :4 'Exception'
  9 ZEND_CATCH   15   $4,!1
14 10 ECHO       'Caught+exception%3A+'
  11 ZEND_INIT_METHOD_CALL       !1,'getMessage'
  12 DO_FCALL_BY_NAME   0    
  13 ECHO       $6
  14 ECHO       '%0A'
18 15 ECHO       'Hello+World'
19 16 RETURN       1

OPCODE :TICKS

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x
line # op fetch ext return operands
7 0 NOP        
13 1 SEND_VAL       'profile'
  2 DO_FCALL   1   'register_tick_function'
16 3 DO_FCALL   0   'profile'
20 4 ASSIGN       !0,0
  5 IS_SMALLER     ~3 !0,10
  6 JMPZNZ   9   ~3,->13
  7 PRE_INC       !0
  8 JMP       ->5
21 9 ECHO       'hello+world%0A'
  10 TICKS       2
22 11 TICKS       2
  12 JMP       ->7
  13 TICKS       2
23 14 TICKS       2
24 15 RETURN       1

Function name: profile
Compiled variables: none
line # op fetch ext return operands
9 0 ECHO       'profile+function+is+called%0A'
10 1 RETURN       null

OPCODE :UNSET_DIM

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$a
line # op fetch ext return operands
6 0 INIT_ARRAY     ~0 1
  1 ADD_ARRAY_ELEMENT     ~0 2
  2 ADD_ARRAY_ELEMENT     ~0 3
  3 ASSIGN       !0,~0
7 4 UNSET_DIM     $2 !0,0
8 5 RETURN       1

OPCODE :UNSET_OBJ

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$obj
line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS     :0 'A'
  1 NEW     $1 :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0,$1
7 4 UNSET_OBJ     $4 !0,'num'
8 5 RETURN       1

OPCODE :UNSET_VAR

PHP source code


PHP opcodes

Function name: (null)
Compiled variables: !0=$x, !1=$a
line # op fetch ext return operands
6 0 ASSIGN       !0,1
7 1 ASSIGN       !1,'x'
8 2 UNSET_VAR     $2 !1
9 3 RETURN       1

OPCODE :USER_OPCODE

PHP source code


PHP opcodes

OPCODE :VERIFY_ABSTRACT_CLASS

PHP source code


PHP opcodes