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 - 마침표로 연결
이렇게 연결하시면 정상적으로 나옵니다.
.은 문자열을 연결시키는 연산자이고
,는 나열(?)하는 연산자로 보시면 됩니다.
즉 쉼표인 경우에는 하나하나를 개별 변수로 처리한다고 하면,
.인 경우는 왼쪽과 연결되어 처리되는 부분입니다.