PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

QM_ASSIGN | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

QM_ASSIGN

PHP コード

<?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 1011;
}
?>

PHP オペコード

関数名: (null)

コンパイルされた変数: none

line#op fetchextreturn operands
60 NOP      
101 NOP      
142 RETURN     1

関数名: A

コンパイルされた変数: none

line#op fetchextreturn operands
70 JMPZ     1,->3
 1 QM_ASSIGN   ~0 2
 2 JMP     ->4
 3 QM_ASSIGN   ~0 3
 4 ECHO     ~0
85 RETURN     null

関数名: B

コンパイルされた変数: !0=$b, !1=$a

line#op fetchextreturn operands
110 ASSIGN     !0,0
121 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
137 RETURN     null

忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「QM_ASSIGN」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | QM_ASSIGN」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: