2017-09-14 2 views
-2

나는 PHP 코드를 문자열 끝에 : "관광객 33"또는 "인물 27". 그것은 문자열의 코딩 페이지에 의존하지 않고 그것을 해결할 방법을 찾는 많은 사람들이 있습니다 - 코드 한 줄에 echo printf을 결합하지 마십시오. 그러나이 문제에 대한 제 질문은 여기에 있습니다. 왜 그런 일이 발생합니까?

링크 : 당신은 여기에 몇 가지를 혼동

php printf adds number to output

PHP printf adds something after formatted string

+2

첫 번째 링크에서 허용되는 답변 인용 : "당신이 printf를 울리고 있기 때문에 아닌가요?" – JJJ

+1

^나는 똑같이 말할 것입니다. 'printf()'는 정수 (문자열의 길이)를 반환합니다. 여러분이 그것을 echo 할 때, 그것은 그 정수를 출력 할 것입니다. http://php.net/manual/en/function.printf.php 다른 말로하면 : *'echo' 또는'printf()'중 하나만 사용해야합니다! – Qirel

+1

"printf"명령은 데이터 자체를 출력하기 때문에 "echo"가 필요하지 않습니다. echo를 사용하면 출력 된 문자열의 길이 인 "printf"명령의 결과를 출력합니다. 'echo'를 제거하거나'printf' 대신'sprintf'를 사용해야합니다. – Stalinko

답변

4

. printf이 이미 인쇄되기 때문에 구조로 echo printf은 이해가되지 않습니다.

보고있는 내용은 printf이 작업을 수행 한 다음 의 결과 인 echo이 인쇄 된 문자열의 길이입니다.

대신 sprintf을 사용하면 인쇄하지 않고 형식이 지정된 문자열을 반환하거나 프로그램의 echo 부분을 건너 뛸 수 있습니다.