FETCH_OBJ_FUNC_ARG

PHP code

<?php
/*
 * 
 * opcode number: 94
 */
include './classA.php';

function foo(&$x)
{
  print($x);
}

$z = "foo";

$obj = new A();
print $obj->num;
$z($obj->num);

?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$z, !1=$obj

line#opfetchextreturnoperands
60INCLUDE_OR_EVAL   '.%2FclassA.php',INCLUDE
81NOP    
132ASSIGN   !0,'foo'
153ZEND_FETCH_CLASS  :2'A'
 4NEW  $3:2
 5DO_FCALL_BY_NAME 0  
 6ASSIGN   !1,$3
167FETCH_OBJ_R  $6!1,'num'
 8PRINT  ~7$6
 9FREE   ~7
1710INIT_FCALL_BY_NAME   !0
 11FETCH_OBJ_FUNC_ARG  $8!1,'num'
 12SEND_VAR   $8
 13DO_FCALL_BY_NAME 1  
1914RETURN   1

Function name: foo

Compiled variables: !0=$x

line#opfetchextreturnoperands
80RECV   1
101PRINT  ~0!0
 2FREE   ~0
113RETURN   null

Function name: foo

Compiled variables: !0=$x

line#opfetchextreturnoperands
80RECV   1
101PRINT  ~0!0
 2FREE   ~0
113RETURN   null