Opcode
PHP Manual

FETCH_DIM_FUNC_ARG

PHP 代码

<?php
/*
 * 
 * Opcode 编号: 93
 */

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

$x = array(012345);
$z "foo";

$z($x[0]);

?>

PHP Opcode

函数名: (null)

编译后的变量: !0=$x, !1=$z

行号#操作 读取扩展返回 操作数
70 NOP      
121 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
138 ASSIGN     !1,'foo'
159 INIT_FCALL_BY_NAME     !1
 10 FETCH_DIM_FUNC_ARG   $3 !0,0
 11 SEND_VAR     $3
 12 DO_FCALL_BY_NAME  1   
1713 RETURN     1

函数名: foo

编译后的变量: !0=$x

行号#操作 读取扩展返回 操作数
70 RECV     1
91 PRINT   ~0 !0
 2 FREE     ~0
103 RETURN     null

Opcode
PHP Manual