PHPの文字列における一重引用符と二重引用符の違いを簡単に要約する
1732 ワード
今日は友達に聞いて、違いを言って、ついでに復習します.
一重引用符と二重引用符の違い:""二重引用符のフィールドはコンパイラによって解釈され、HTMLコードとして出力されます. ''の単一引用符の中のは解釈せず、直接出力します. 単一引用符の解析時間は二重引用符よりも速い. 単一引用符はエスケープをサポートし、二重引用符はより多くのエスケープをサポートします.
PS:今日、外国人がPHPの一重引用符に言及した問題を見て、その中で面白いものが言及されました.以下に抜粋します.PHP拡張Vulcan Logic Disassemblerが入っていると、PHP生成の中間コードが見えます.まず、
次のようになります.
そして
になる
ああ、同じなら
PHPで発生したOPCODEは
そして
になる
见ることができて、スピードはとても速くて、使います.つながるなら
一重引用符と二重引用符の違い:
$hello= 3;
echo "hello is $hello"; // :hello is 3
echo 'hello is $hello'; // : hello is $hello
echo "hello is $hello
"; // : hello is 2 ( )
echo 'hello is $hello
'; // : hello is $hello
PS:今日、外国人がPHPの一重引用符に言及した問題を見て、その中で面白いものが言及されました.以下に抜粋します.PHP拡張Vulcan Logic Disassemblerが入っていると、PHP生成の中間コードが見えます.まず、
echo "This is a string";
次のようになります.
ECHO 'This is a string'
そして
echo 'This is a string';
になる
ECHO 'This is a string'
ああ、同じなら
echo "This is a $variable";
PHPで発生したOPCODEは
INIT STRING ~0
2 ADD_STRING ~0 ~0 'This'
3 ADD_STRING ~0 ~0 ' '
4 ADD_STRING ~0 ~0 'is'
5 ADD_STRING ~0 ~0 ' '
6 ADD_STRING ~0 ~0 'a'
7 ADD_STRING ~0 ~0 ' '
8 ADD_VAR ~0 ~0 !0
9 ECHO ~0
そして
echo "This is a " . $variable;
になる
CONCAT ~0 'This is a ' !0
2 ECHO ~0
见ることができて、スピードはとても速くて、使います.つながるなら