나는 정말 그 출력을 이해하지 못하고 다음과 같은 코드를 가지고 :내 코드에서 두 개의 숫자를 연결하는 '...'이유는 무엇입니까?
echo 20...7;
왜이 코드 출력 200.7
합니까?
...
은 루비에서 호출되는 splat 연산자이므로 가변 개수의 인수가있는 함수를 사용할 수 있지만 여기서는 echo
이라는 컨텍스트에서 무엇을하는지 이해하지 못합니다.
이 코드가 정확히 무엇을 설명 할 수 있습니까?
나는 정말 그 출력을 이해하지 못하고 다음과 같은 코드를 가지고 :내 코드에서 두 개의 숫자를 연결하는 '...'이유는 무엇입니까?
echo 20...7;
왜이 코드 출력 200.7
합니까?
...
은 루비에서 호출되는 splat 연산자이므로 가변 개수의 인수가있는 함수를 사용할 수 있지만 여기서는 echo
이라는 컨텍스트에서 무엇을하는지 이해하지 못합니다.
이 코드가 정확히 무엇을 설명 할 수 있습니까?
아니요, 이것은 splat/unpacking 연산자가 아닌 것처럼 보일 수도 있습니다. 이는 PHP 구문 분석 프로세스의 결과 일뿐입니다. 이미 다른 약간 혼란을 취소 할 수 코드를 작성 : 당신이 .7
이 0.7
것을 알고있다 이제
echo 20. . .7;
# ↑ ↑ ↑
# decimal concatenation decimal
# dot dot dot
을하고 syntax for float numbers에 설명 된대로 PHP에서 0을 생략 할 수 있습니다 : 그래서
DNUM ([0-9]*[\.]{LNUM}) | ({LNUM}[\.][0-9]*)
PHP는이 두 숫자를 연결하여이 PHP 유형의 저글을 수행하는 동안 silently convert both numbers to strings이됩니다. 에 따라 [
echo "20" . "0.7";
//Output: "200.7"
더 정확히 말하면, PHP는'20 ... 7'을'20과 동일하게 분석합니다. . 이것은'20.0을 쓰는 또 다른 방법이다. 0.7 '이다. – axiac
@axiac 오른쪽, 내 의견에 올바른 버전이 있었는데, rix 것입니다. – YvesLeBorg
[... 인수 풀고 (PHP 5.6부터)] (http://wiki.php.net/rfc/argument_unpacking) :
그래서 결국 코드는 동일합니다 포함 된] (http://stackoverflow.com/q/3737139/1415724) 중복. –
같은 학급에 두 분이 계세요? http://stackoverflow.com/q/44023880/1415724 –
@JohnConde 만약 내가 나쁜 접근을했는지 궁금해하기 시작합니다 –