PHPの文字列における一重引用符と二重引用符の違いを簡単に要約する

1732 ワード

今日は友達に聞いて、違いを言って、ついでに復習します.
一重引用符と二重引用符の違い:
  • ""二重引用符のフィールドはコンパイラによって解釈され、HTMLコードとして出力されます.
  • ''の単一引用符の中のは解釈せず、直接出力します. 
  • 単一引用符の解析時間は二重引用符よりも速い.
  • 単一引用符はエスケープをサポートし、二重引用符はより多くのエスケープをサポートします.
  • 
    $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 
    
    

    见ることができて、スピードはとても速くて、使います.つながるなら