>  기사  >  백엔드 개발  >  PHP strings_php 팁에서 작은따옴표와 큰따옴표의 차이점에 대한 간략한 요약

PHP strings_php 팁에서 작은따옴표와 큰따옴표의 차이점에 대한 간략한 요약

WBOY
WBOY원래의
2016-05-16 19:53:001260검색

오늘 친구가 차이점에 대해 물어봤는데, 그런데 리뷰를 하려고 합니다.

작은따옴표와 큰따옴표의 차이점:

  • " "큰따옴표로 묶인 필드는 컴파일러에 의해 해석된 후 HTML 코드로 출력됩니다.
  • ' '작은따옴표 안의 단어는 해석되지 않고 바로 출력됩니다.
  • 작은따옴표는 큰따옴표보다 더 빠르게 구문 분석됩니다.
  • 작은따옴표는 이스케이프 문자를 지원하고, 큰따옴표는 더 많은 이스케이프 문자를 지원합니다.
$hello= 3;
echo "hello is $hello"; // 打印结果:hello is 3 
echo 'hello is $hello'; // 打印结果: hello is $hello 
echo "hello is $hello\n"; // 打印结果: hello is 2 (同时换行) 
echo 'hello is $hello\n'; // 打印结果: hello is $hello\n

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 

보시다시피 연결해서 사용하시면 속도가 훨씬 빠릅니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.