개발 스크랩 메모/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;
이에 따라 지점 표시법은 연결에 분명히 사용된다.
그것은 당혹스러운 것이 아니라, 직관이 아니라 모든 다른 언어가 다른 방식으로 만들어졌기 때문이다.
그리고 트렌드에 순응하는 좋은 이유일까?일을 하는 방식은 항상 이러므로 항상 옳지 않다.