PHP - Manual: FETCH_OBJ_W
2024-12-22
<?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';
?>
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 |
官方地址:https://www.php.net/manual/en/internals2.opcodes.fetch-obj-w.php