> 백엔드 개발 > PHP 튜토리얼 > PHP 프로그래밍_php 기술에서 에코를 연결하기 위해 쉼표와 점을 사용하는 것의 차이점

PHP 프로그래밍_php 기술에서 에코를 연결하기 위해 쉼표와 점을 사용하는 것의 차이점

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-05-16 19:55:37
원래의
1017명이 탐색했습니다.

.connection을 사용하는 것보다 echo string을 사용하는 것이 더 좋다고 합니다. 먼저 이유를 이야기하지 말고, 다음 두 문장을 살펴보겠습니다

 <&#63;php
 // 逗号比.更节省时间&#63;
 echo '1+5=' . 1+5; 
 echo '1+5=' . 5+1;
로그인 후 복사

결과는?

1+5=6?
1+5=6?
——————
6?
2?
——————
6.6?
6.6?
——————
로그인 후 복사

echo '5 1=' 의 결과는 10이므로 결과는 6과 2라고밖에 말할 수 없습니다.

왜 그럴까요? PHP에는 추가로 교환 속성이 ​​없는 걸까요..
왜인지는 생각하지 마세요. 위의 마침표를 쉼표로 바꾸면 시도해 보세요.

echo '1+5=' , 5+1;  //输出 1+5=6 
echo '1+5=' , 1+5;  //输出 1+5=6 

로그인 후 복사

쉼표를 사용해야만 예상한 결과를 얻을 수 있음을 알 수 있습니다.

그럼 마침표는 왜 안되나요?

echo ('1+5' . 5)+1; //输出2 

로그인 후 복사

앞에 괄호를 추가해도 결과는 같습니다.

PHP가 먼저 문자열을 연결한 다음 왼쪽에서 오른쪽으로 계산을 수행한다는 것을 증명하세요.

좋네요. 문자열이 먼저 연결되어 있으므로 "1 55"여야 합니다. 그러면 이 문자열에 1을 더하면 2가 출력됩니다.

이는 PHP에서 문자열을 숫자로 변환하는 메커니즘과 관련이 있습니다.

echo (int)'abc1';  //输出0
echo (int)'1abc'; //输出1
echo (int)'2abc'; //输出2
echo (int)'22abc'; //输出22
로그인 후 복사

위의 예에서 문자열을 숫자로 변환해야 하는 경우 PHP는 문자열의 시작 부분을 검색하여 숫자로 변환하는 것을 볼 수 있습니다.

그렇지 않으면 0을 반환하세요.

지금 바로 1 55로 돌아가세요. 이 문자열은 1 55이므로 여기에 1을 더하면 1이 됩니다.
우리의 추측을 증명하기 위해 검증해 보겠습니다.

echo '5+1=' . 1+5; //输出10
echo '5+1=' . 5+1; //输出6
echo '1+5=' . 1+5; //输出6
echo '1+5=' . 5+1; //输出2
로그인 후 복사

결과는 우리의 가정이 맞았다는 것을 증명했습니다.
그렇다면 왜 쉼표를 사용하면 위의 문제를 피할 수 있을까요?

설명서에는 쉼표를 사용하면 여러 매개변수를 의미한다고 나와 있습니다.

즉, 다중 매개변수입니다.

쉼표로 구분된 것은 N개의 매개변수와 같습니다. 즉, echo를 함수로 사용하는 것입니다.

이 경우 echo는 각 매개변수를 먼저 계산한 후 연결하여 출력하므로 쉼표를 사용하면 위의 문제는 발생하지 않습니다 :)

php 에코 매뉴얼

<&#63;php
// Strings can either be passed individually as multiple arguments or
// concatenated together and passed as a single argument
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10);
echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";
로그인 후 복사

왜 빠른지는 쉽게 이해할 수 있습니다. 쉼표의 수는 에코 호출 횟수를 나타내지만 .를 사용하여 먼저 echo에 연결합니다.
그러나 접합 속도는 에코 속도보다 느립니다.
깊이 이해해보면 VLD는 아래와 같습니다. 위대한 신 @tywei 의 사진이에요


하단보다 상단에 CONCAT이 하나 더 있고, 상단보다 하단에 에코가 하나 더 있습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿