FE_FETCH

PHP code

<?php
/*
 * Fetch an element from iterator.  If no element is available, jump to address.  Followed by OP_DATA?
 * opcode number: 78
 */
$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
关注编程学问公众号