FETCH_OBJ_W

PHP code

<?php
/*
 * Fetch an object from the property of this object and write to the property of the fectched object.
 * opcode number: 85
 */
$foo = new stdclass;
$foo->bar = new stdclass;
$foo->bar->baz 'quix';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0 = $foo

line # op fetch ext return operands
6 0 ZEND_FETCH_CLASS   4 :0 'stdclass'
  1 NEW       :0
  2 DO_FCALL_BY_NAME   0    
  3 ASSIGN       !0
7 4 ZEND_FETCH_CLASS   4 :5 'stdclass'
  5 NEW       :5
  6 DO_FCALL_BY_NAME   0    
  7 ZEND_ASSIGN_OBJ       !0, 'bar'
  8 ZEND_OP_DATA        
8 9 FETCH_OBJ_W       !0, 'bar'
  10 ZEND_ASSIGN_OBJ       'baz'
  11 ZEND_OP_DATA       'quix'
9 12 RETURN       1
关注编程学问公众号