internals2-php-opcodes-php-fe-reset-9

  • Opcode Descriptions and
    Examples
  • FE_RESET

  • FE_RESET
  • FE_RESET

    FE_RESET

    PHP code

    <?php
    /*
     * Initialize an iterator on array-value.  If the array is empty, jump to address.  Followed by FE_FETCH.
     * opcode number: 77
     */
    $a = array(1,2,3);
    foreach(
    $a as $num){
        print 
    $num;
    }
    ?>

    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