PHP 구문 구성은 <? PHP 및 ?> 요소로 구성됩니다. 문장의 종료는 세미 콜론이 반드시 찍혀야 오류가 나지 않습니다. PHP는 함수명은 대소문자 구분이 없지만 변수명은 대소문자 구분을 엄격하게 합니다.
PHP 구문 구성
PHP 구문 기본 태그 <?php ?>
PHP 구문 형태는 HTML 태그 처럼 시작 태그와 닫는 태그로 영역이 구분됩니다. PHP의 시작 태그는 <?php
입니다. 닫는 태그는 ?>
입니다.
echo
란 데이터를 브라우저에 출력하는 함수입니다. 또한 PHP는 다른 프로그래밍 언어와 같이 문자 데이터를 입력할 때에는 따옴표 " "
를 사용합니다.
<?php
echo "안녕하세요?";
?>
결과
안녕하세요?
닫는 태그 ?> 생략
PHP는 ?gt;
닫는 태그를 생략해도 코드가 잘 작동합니다. 닫는 태그가 없는 경우 PHP 파일 맨 마지막에서 PHP 문법이 끝났다고 임의로 간주하기 때문입니다.
순수 PHP로만 작성된 코드의 경우 닫는 태그를 생략하는 것이 더 유리합니다.
왜냐하면 닫는 태그인 ?>
앞 뒤에 공백이나 Enter 등 이 실수로 들어가는 경우가 많기 때문입니다. 의도치 않은 공백 등이 화면에 출력되는 것을 막기 위해서 닫는 태그의 생략은 순수 PHP 파일에서 유용합니다.
<?php
echo "구명보트에 탈 수 있는 인원은 9명입니다.";
결과
구명보트에 탈 수 있는 인원은 9명입니다.
닫는 태그 ?>< 생략 불가
PHP를 HTML 코드와 같이 사용할 경우 닫는 태그는 반드시 사용해야 합니다.
아래 예시에서는 HTML <p>
태그와 PHP 태그가 섞여 있습니다. "빙하시대";
뒤의 ?>
닫는 태그를 생략하면 페이지에 오류가 발생합니다.
<p>펭귄이 다니는 대학교는?</p>
<?php echo "빙하시대";?>
<p>펭권이 다니는 고등학교는 냉장고입니다.</p>
결과
펭귄이 다니는 대학교는?
빙하시대
펭권이 다니는 고등학교는 냉장고입니다.
PHP 문장 종료
PHP 세미 콜론 ;
PHP의 각 명령 문장의 마지막은 세미콜론 ;
으로 종료됩니다. 자바스크립트 같은 언어와 달리 PHP는 세미콜론을 생략하면 오류가 발생하는 경우가 많습니다.
<?php
echo "물고기의 반대말은 불고기입니다.";
?>
결과
물고기의 반대말은 불고기입니다.
세미 콜론 ; 생략
PHP 영역에서 맨 마지막 명령문의 경우 세미콜론을 생략해도 됩니다.
하지만 이 기능은 실수 했을 때를 위한 위험 방지 정도의 기능입니다. 생략된 명령문 뒤에 또 다른 코드가 추가 된다면 에러가 발생할 것입니다. 그러므로 생략하지 않도록 연습하는 것이 중요합니다.
<?php
echo "눈사람의 반대말은 일어선 사람입니다."
?>
결과
눈사람의 반대말은 일어선 사람입니다.
세미 콜론 ; 생략 불가
닫는 태그를 생략한 경우는 마지막 문장에서도 세미 콜론을 생략할 수 없습니다. 아래 예시에서 쥐포입니다."
뒤의 세미 콜론 ;
을 생략하면 오류가 발생합니다.
<?php
echo "쥐 4마리를 두 글자로 하면 쥐포입니다.";
결과
쥐 4마리를 두 글자로 하면 쥐포입니다.
PHP 대문자 소문자 구분
대소문자 구분 안 하는 경우
PHP 함수명이나 키워드 등은 대소문자를 구분하지 않습니다. <?php
를 <?PHP
대문자로 쓰거나 <?PHp
등으로 대소문자를 섞어서 사용해도 됩니다. echo
등의 함수도 마찬가지입니다.
<?PHp
EchO "미국에서 내리는 비는 USB입니다.";
?>
결과
미국에서 내리는 비는 USB입니다.
대소문자 구분 하는 경우
PHP 변수명의 경우 대소문자를 구분합니다. 변수명이란 달러 기호 $
표시와 함께 쓰인 문자로 일종의 데이터 저장 공간을 말합니다. 아래 예시에서는 $AB
, $Ab
, $aB
, $ab
가 모두 변수입니다.
echo $AB + $Ab + $aB + $ab;
문장의 의미는 각 변수안에 있는 변수값을 더해서 출력하라는 뜻입니다. 1 + 2 + 3 + 4
는 10
이므로 10
이 출력됩니다.
<?php
$AB=1;
$Ab=2;
$aB=3;
$ab=4;
echo $AB+$Ab + $aB + $ab;
?>
결과
10
변수명인AB
,ab
,aB
,ab
는 같은 문자이지만 대소문자가 다르므로 전부 다른 문자로 취급됩니다.