복붙노트

PHP에서 작은 따옴표와 큰 따옴표로 묶인 문자열의 차이점은 무엇입니까?

PHP

PHP에서 작은 따옴표와 큰 따옴표로 묶인 문자열의 차이점은 무엇입니까?

나는 PHP 프로그래밍의 전문가는 아니지만 PHP에서 작은 따옴표로 묶인 문자열과 큰 따옴표로 묶인 코드를 왜 혼동하는지 조금 혼란 스럽습니다.

난 그냥 .NET에서, 또는 C 언어, 작은 따옴표에있는 경우 그것은 문자가 아닌 문자열임을 의미합니다.

해결법

  1. ==============================

    1.

    PHP 문자열은 두 가지 방법으로 만 지정하는 것이 아니라 네 가지 방식으로 지정할 수 있습니다.

    속도: 작은 따옴표에 큰 따옴표를 두지 않는 것이 큰 따옴표보다 빠릅니다. 특정 상황에서는 더 빠를 것입니다. PHP 4.3 (쓸데없는 최적화, 맨 아래쪽, 섹션 C) 이후로 단일 및 이중 따옴표가 본질적으로 동등하게 빠르다는 한 가지 방법을 설명하는 기사가 있습니다. 또한이 벤치마킹 페이지에는 두 개의 큰 따옴표 비교가 있습니다. 대부분의 비교는 동일합니다. 큰 따옴표가 작은 따옴표보다 느린 비교 방법이 있습니다.

  2. ==============================

    2.

    상황이 큰 따옴표로 평가되지만 단 하나는 평가되지 않습니다.

    $s = "dollars";
    echo 'This costs a lot of $s.'; // This costs a lot of $s.
    echo "This costs a lot of $s."; // This costs a lot of dollars.
    
  3. ==============================

    3.

    문자열을 지정하는 가장 간단한 방법은 작은 따옴표로 묶는 것입니다. 작은 따옴표는 일반적으로 더 빠르며 안에 인용 된 모든 것은 평범한 문자열로 취급됩니다.

    예:

    echo 'Start with a simple string';
    echo 'String\'s apostrophe';
    echo 'String with a php variable'.$name;
    

    마침표를 사용하여 코드를 구분하지 않으려면 PHP에서 큰 따옴표를 사용하십시오 (주 : 문자열에서 연결 연산자 (.) 연산자를 사용하지 않으려면 변수를 포함하려면 중괄호 {}를 사용하십시오).

    예:

    echo "Start with a simple string";
    echo "String's apostrophe";
    echo "String with a php variable {$name}";
    

    예. 작은 따옴표를 사용하는 것이 약간 빠릅니다.

    PHP는 작은 따옴표 안에있는 내용을 해석하기 위해 추가 처리를 사용하지 않습니다. 큰 따옴표를 사용할 때 PHP는 거기에 변수가 있는지 확인하기 위해 구문 분석해야합니다.

  4. ==============================

    4.

    작은 따옴표로 묶인 문자열에는 해석되는 변수가 없습니다. 큰 따옴표로 묶인 문자열은 않습니다.

    또한 큰 따옴표로 묶은 문자열에는 백 슬래시가없는 아포스트로피가 포함될 수 있지만 작은 따옴표로 묶인 문자열에는 이스케이프 처리되지 않은 인용 부호가 포함될 수 있습니다.

    작은 따옴표로 묶인 문자열은 구문 분석 할 필요가 없으므로 런타임시 빠릅니다.

  5. ==============================

    5.

    PHP에서 '내 이름'과 '내 이름'은 모두 문자열입니다. PHP 매뉴얼에서 더 많은 것을 읽을 수 있습니다.

    너 알아야 할 것이 야.

    $a = 'name';
    $b = "my $a"; == 'my name'
    $c = 'my $a'; != 'my name'
    

    PHP에서는 'a', 'my name', 'abc xyz'와 같은 상수 문자열을 정의하기 위해 작은 따옴표를 사용하고 큰 따옴표를 사용하여 "a $ b $ c $ d"와 같은 식별자를 포함하는 문자열을 정의합니다.

    그리고 다른 것은,

    echo 'my name';
    

    ~보다 빠릅니다.

    echo "my name";
    

    그러나

    echo 'my ' . $a;
    

    ~보다 느리다.

    echo "my $a";
    

    다른 문자열을 사용하는 경우에도 마찬가지입니다.

  6. ==============================

    6.

    <?php
    
        $fname = "David";
    
        // Single quotes
        echo 'My name is $fname .'; // My name is $fname.
    
        // Double quotes
        echo "My name is $fname."; // My name is David.`
    
        // Curly braces to isolate the name of the variable
        echo "My name is {$fname}."; // My name is David.
    
        // Example of heredoc
        echo $foo = <<<abc
        My name is {$fname}
        abc;
    
            // Example of nowdoc
            echo <<< 'abc'
            My name is "$name".
            Now, I am printing some
        abc;
    
    ?>
    
  7. ==============================

    7.

    두 종류의 묶인 문자는 문자열입니다. 한 유형의 따옴표는 다른 유형의 따옴표를 묶는 데 편리하게 사용됩니다. 따옴표 유형의 가장 큰 차이점은 묶음 식별자 참조가 큰 따옴표 안쪽에 사용되지만 작은 따옴표 안에는 사용되지 않는다는 것입니다.

  8. ==============================

    8.

    PHP에서 작은 따옴표 텍스트는 문자열 값으로 간주되고 큰 따옴표 텍스트는 값을 바꾸고 처리하여 변수를 구문 분석합니다.

    $test = "variable";
    echo "Hello Mr $test"; // the output would be: Hello Mr variable
    echo 'Hello Mr $test'; // the output would be: Hello Mr $test
    

    여기서는 값을 큰 따옴표로 구문 분석하고 작은 따옴표는 문자열 값으로 간주합니다 ($ test 변수를 구문 분석하지 않음).

  9. ==============================

    9.

    어쩌면 나는 조금 늦었고 조금 벗어난 주제 일지 모르지만 어쨌든 여기에있다.

    다음 중 해당 문자열의 내용 때문에 선택할 필요가 없습니다. 경고 ( "It 's \"game \ "time."); 또는 경고 ( 'It \'s "game"time. ');

    대신 다음과 같이 입력 한 다음 큰 따옴표 나 작은 따옴표를 사용해도 상관 없습니다. 경고 ( "게임"시간 "입니다.); 그리고 경고 ( 'It 's game'time. ');

  10. ==============================

    10.

    $name = 'test';
    $singleQuote = 'This is example for single quote $name'; // here $name variable not evaluating 
    echo $singleQuote; // Output: This is example for single quote $name
    $singleQuote = "This is example for single quote $name"; // here $name variable will evaluate and replace variable value
    echo $singleQuote; // Output: This is example for single quote test
    
    Also inside single quote expression evaluate faster campare to double quotes
    
  11. ==============================

    11.

    한 가지 :

    Heredoc의 닫기 식별자가있는 행에는 세미콜론 (;)을 제외한 다른 문자가 없어야합니다. 이는 특히 식별자가 들여 쓰기가되지 않을 수 있으며 세미콜론 전후에 공백이나 탭이 없어야 함을 의미합니다.

    예:

       $str = <<<EOD
    Example of string
    spanning multiple lines
    using heredoc syntax.
    EOD;
    
  12. from https://stackoverflow.com/questions/3446216/what-is-the-difference-between-single-quoted-and-double-quoted-strings-in-php by cc-by-sa and MIT lisence