이 기사에서는 PHP 프로그래밍에서 에코를 연결하기 위해 쉼표와 점을 사용하는 것의 차이점을 이해하기 위해 몇 가지 구체적인 예를 사용합니다. 도움이 필요한 친구들이 참고하면 좋을 것 같아요.
.connection을 사용하는 것보다 echo string을 사용하는 것이 더 낫다고 합니다. 이유는 논하지 말고 다음 두 문장을 살펴보겠습니다
<?php // 逗号比.更节省时间? 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=' .1+5; 의 결과는 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가 출력됩니까?
이것은 문자열 변환 메커니즘과 동일합니다. 다음 예를 살펴보겠습니다.
echo (int)'abc1'; //输出0 echo (int)'1abc'; //输出1 echo (int)'2abc'; //输出2 echo (int)'22abc'; //输出22
위의 예에서 문자열을 숫자로 강제 변환하면 PHP는 문자열이 시작되는 경우를 검색합니다.
그렇지 않으면 그냥 0을 반환합니다.
지금은 1+55로 돌아갑니다. 이 문자열은 1+55이므로 강제 유형 변환 후에는 1이 되어야 합니다. 1. 당연히 2입니다.
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 echo manual
<?php // Strings can either be passed inpidually 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에서 에코에 쉼표와 점을 사용하는 것의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!