개발! 딱 깔끔하고 센스있게!

PHP 문자열 연결 연산자가 왜 점 (.)입니까? [닫은] 본문

개발 스크랩 메모/PHP

PHP 문자열 연결 연산자가 왜 점 (.)입니까? [닫은]

렉사이 2020. 11. 21. 03:18

php 에서 문자열 연산자 dot (.) 연결 문자열에 사용됩니다.

예를 들어:

$msg = "Hello there, " . $yourName; 

사람들이 (나를 포함해서) 처음으로 dot 연산부를 볼 때, 항상 혼란스러워 하는 것 같다.

특히 두 글자를 연결할 때, 이 동작은 실수를 하지 않을 뿐만 아니라, 단지 "소리 없이 실패한 것이다.

php 과 다른 연산자를 사용하지 않는 언어 (예를 들면 javascript, python 등) 사이를 전환하는 것도 흔한 잘못이다.

나의 문제는, 왜 언어를 좀 ((.) 연산부보다 광범위하게 수용되는 연산부보다는 더하기 (+)?당신은 이 조작자의 역사적 원인을 선택할 수 있습니까?다만 다른 변수 형식을 문자열로 바꿀 수 있기 때문인가요?예를 들어:

echo 1 . 2; //prints the string "12" 

감사합니다.

대답

나는 도트와 플러스가 하는 일이 전혀 다르기 때문이라고 생각한다.

"문자열 하나"+ "다른 문자열"은 무슨 뜻이죠? 사실상 비특정 언어의 각도에서 보면?

이것은 의미를 의미하는 것인가

  • Add the numerical value of the two strings, or,
  • concatenate the two strings

당신은 그것이 두 번째라고 가정할 수 있지만, 문자열 외에 모든 경우에는 숫자 가법을 사용합니다.

왜?

한편, 송산형 각도 (즉 php)에서 보면 php 스크립트

$myvar = 1; $myvar2 = 2; // would we expect a concatenation or addition? $concat = $myvar + $myvar2; 

이에 따라 지점 표시법은 연결에 분명히 사용된다.

그것은 당혹스러운 것이 아니라, 직관이 아니라 모든 다른 언어가 다른 방식으로 만들어졌기 때문이다.

그리고 트렌드에 순응하는 좋은 이유일까?일을 하는 방식은 항상 이러므로 항상 옳지 않다.

Comments