PHP Echo 문에서 변수 연결 시 마침표와 쉼표 이용에 관해..

PHP Echo 문에서 변수 연결 시 마침표와 쉼표 이용에 관해..

QA

PHP Echo 문에서 변수 연결 시 마침표와 쉼표 이용에 관해..

본문

<?php

$x = "홈짱닷컴" ;

$y = " Homzzang.com" ;

$z = $x.$y ;

 

echo $z . " 많이 사랑해 주세요.<br>" ; // 케이스 1 - 마침표로 연결

echo $z , " 많이 사랑해 주세요.<br>" ; // 케이스 2 - 쉼표로 연결

echo $x . $y . " 많이 사랑해 주세요.<br>" ; // 케이스 3 - 마침표로 연결.

echo $x , $y , " 많이 사랑해 주세요.<br>" ; // 케이스 4 - 쉼표로 연결.

?>

 

출력결과 - 넷 모두 정상 출력 됨.

 
홈짱닷컴 Homzzang.com 많이 사랑해 주세요.
홈짱닷컴 Homzzang.com 많이 사랑해 주세요.
홈짱닷컴 Homzzang.com 많이 사랑해 주세요.
홈짱닷컴 Homzzang.com 많이 사랑해 주세요.

 

 

 

 

<?php

$site = "홈짱닷컴";

$url = "Homzzang.com";

$x = date("Y"); // 올해 년도  ※ 이 포스팅 작성 중인 현재 년도 2016년 경우, 2016이 변수 $x에 담김.

$y = 2012;

$z = $x - $y ; // $x - $y 사칙연산 결과를 변수 $z에 새롭게 선언

 

echo $y . "년 오픈 후 " . $z . "년째 <p>"; // 케이스 1 - 마침표로 연결

echo $y , "년 오픈 후 " , $z , "년째 <p>"; // 케이스 2 - 쉼표로 연결

echo $y . "년 오픈 후 " . $x - $y . " 년째 <p>"; // 케이스 3 - 마침표로 연결

echo $y , "년 오픈 후 " , $x - $y , "년째 <br>"; // 케이스 4 - 쉼표로 연결

?>

 

출력 결과 - 케이스3이 이상하게 출력 됨.

 
2012년 오픈 후 4년째

2012년 오픈 후 4년째

0 년째

2012년 오픈 후 4년째 


 

왜, 두 번째 PHP 소스에서 3번째 케이스는 에러가 나는 건가요?

 

PHP 구문에서 마침표 ( . )로 연결하는 경우와 쉼표 ( , )로 연결하는 자세한 용법이 궁금합니다.

이 질문에 댓글 쓰기 :

답변 1

echo $y . "년 오픈 후 " . $x - $y . " 년째 <p>"; // 케이스 3 - 마침표로 연결 

=>

($y . "년 오픈 후 " . $x) - ($y)

(2012년 오픈 후 2016) - (2012)

앞에 가로로 쳐저 있는 문자열을 php에서 숫자형으로 인식하는 경우 2012로 인식합니다.

(앞에 숫자가 있어서, 문자열은 자동삭제)

해서 결과가 0으로 나오는거구요. (2012 - 2012)

 

echo $y . "년 오픈 후 " . ($x - $y) . " 년째 <p>"; // 케이스 3 - 마침표로 연결

 

이렇게 연결하시면 정상적으로 나옵니다.

 

.은 문자열을 연결시키는 연산자이고

,는 나열(?)하는 연산자로 보시면 됩니다.

즉 쉼표인 경우에는 하나하나를 개별 변수로 처리한다고 하면,

.인 경우는 왼쪽과 연결되어 처리되는 부분입니다.


아주 자세하게 예까지 들어 설명해주셔서 정말 고맙습니다. 덕분에 궁금증이 많이 풀렸어요.

그런데, 혹시,

큰따옴표 구문 안에서 사칙연산 표현식 사용은 불가능한가요?
아래처럼. 표현해봤는데, 에러 나네요.

echo "{$y}년 오픈 후 ($x - $y)년째 <br>";
echo "{$y}년 오픈 후 ({$x} - {$y})년째 <br>";

답변을 작성하시기 전에 로그인 해주세요.
전체 44

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT