internals2-php-opcodes-php-fetch-func-arg-2

  • Opcode Descriptions and
    Examples
  • FETCH_FUNC_ARG

  • FETCH_FUNC_ARG
  • FETCH_FUNC_ARG

    FETCH_FUNC_ARG

    PHP code

    <?php
    /*
     * 
     * opcode number: 92
     */
    function foo($x)
    {
    }

    $x 1;
    $y "x";
    $z "foo";

    $z($$y);

    ?>

    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