<?php
/*
* Question Mark Assign, used twice inside a question mark assign to temporarily assign result as value1 (this is followed up with an ASSIGN bytecode)
* opcode number: 22
*/
function A(){
echo 1?2:3;
}
function B(){
$b = 0;
$a = $b > 1 ? 10: 11;
}
?>
Function name: (null)
Compiled variables: none
line | # | op | fetch | ext | return | operands |
---|---|---|---|---|---|---|
6 | 0 | NOP | ? | ? | ? | ? |
10 | 1 | NOP | ? | ? | ? | ? |
14 | 2 | RETURN | ? | ? | ? | 1 |
Function name: A
Compiled variables: none
line | # | op | fetch | ext | return | operands |
---|---|---|---|---|---|---|
7 | 0 | JMPZ | ? | ? | ? | 1,->3 |
? | 1 | QM_ASSIGN | ? | ? | ~0 | 2 |
? | 2 | JMP | ? | ? | ? | ->4 |
? | 3 | QM_ASSIGN | ? | ? | ~0 | 3 |
? | 4 | ECHO | ? | ? | ? | ~0 |
8 | 5 | RETURN | ? | ? | ? | null |
Function name: B
Compiled variables: !0=$b, !1=$a
line | # | op | fetch | ext | return | operands |
---|---|---|---|---|---|---|
11 | 0 | ASSIGN | ? | ? | ? | !0,0 |
12 | 1 | IS_SMALLER | ? | ? | ~1 | 1,!0 |
? | 2 | JMPZ | ? | ? | ? | ~1,->5 |
? | 3 | QM_ASSIGN | ? | ? | ~2 | 10 |
? | 4 | JMP | ? | ? | ? | ->6 |
? | 5 | QM_ASSIGN | ? | ? | ~2 | 11 |
? | 6 | ASSIGN | ? | ? | ? | !1,~2 |
13 | 7 | RETURN | ? | ? | ? | null |