웹마스터 팁
간단한 PHP 문법
2000.03.06 03:24
물론 C에서의 포인터와 같은 어려운 부분은 없습니다.
또한 스크립트 언어이기 때문에 자바 스크립트처럼 HTML문서의 내부에 입력하여 실행할수도 있습니다.
하지만 자바스크립트와는 다르게 PHP 소스는 외부에서는 전혀 볼수가 없습니다.
PHP의 문법은 많지만 프로그램 작성시 필요하다 싶은 것만 간추려서 이야기하겠습니다.
1. 시작과 끝의 지정
PHP언어는 스크립트 언어이기 때문에 프로그램의 시작과 끝을 표시하여 줘야 합니다.
물론 html문서에 끼워넣지 않구 따로 php3 파일로 만들어서 쓸 때도 마찬가지입니다.
선언방법은 3가지가 있습니다만 첫 번째가 가장 짧아서 많이 쓰는 것입니다.
1 : <? 본문 ?>
2 : <?PHP 본문 ?>
3 : <?script language="PHP"
본문
?>
1번의 시작과 끝 표시를 사용하면 편합니다. 3번같은 경우는 정말 자바스크립트 같은 스크립트 언어라는
느낌이 듭니다.
그리고 exit; 라는 문법이 있습니다.
exit;를 만나는 즉시 php 스크립트언어의 해석기는 실행을 중단하게 됩니다.
즉 "프로그램이 끝났다"라는 겁니다.
여기서 중요!
php와 같은 웹프로그램에서의 실행중단은 윈도즈프로그램등에서 프로그램 종료와는 개념이 다릅니다.
웹 프로그램은 클라이언트(사용자)의 요청이 있을시에만 서버에서 웹프로그램을 통해 답을 구하고 응답을
하게 됩니다.
즉 exit; 라는 넘은 Stop이라는 개념으로 알아주시면 좋을 것 같습니다.
요기까지만 출력하고 멈춰라! 그리고 대기하라는 뜻입니다.
만약 exit; 를 지정하지 않으면 원하는 부분을 넘어서 ?> 를 만날 때까지 계속 실행을 하게 됩니다.
2. 주석문 &줄마침
perl에서는 주석문을 표시할 때 #을 씁니다.
php에서는 // 을 이용하시면 됩니다.
위와 같이 하면 // 이 붙은 줄은 해석시 뛰어넘어버립니다.
그리고 PHP에서는 C와 마찬가지로 한 줄이 끝날 때마다 ; 을 붙여줘야 합니다.
Ruby나 ASP와 같은 언어들은 개행문자(리턴)를 행의 끝으로 인식하지만 PHP는 ; 으로 끝을 인식합니다.
3. PHP에서의 변수
PHP에서는 변수 사용시 $를 붙여줌으로써 사용합니다.
즉, $i=0; 이라고 하면 $i라는 변수에 0이라는 값을 넣는 다는 겁니다.
PHP에서는 C와 달리 변수에 대해서 관대합니다.
즉, 미리 선언할 필요도 없으며, 문자열을 넣었던 변수에 숫자를 넣어도 PHP에서는 에러가 나지 않습니다.
배열사용시에는 $array = array(0,1,2,3,4); 등으로 사용하면 됩니다.
$array[0]에는 0이라는 값이 들어갑니다.
위와 같이 사용하는 방법 말고도 $array[name]="고영수"; 등과 같이 배열지정시 숫자가 아닌 문자열로
대체해도 상관없습니다.
매우 편리하게 사용하는 방법입니다.
그리고 배열을 추가할대는 $array[]="추가할 값"; 하면 $array라는 배열변수에 하나씩 자동으로 인덱스를
추가하면서 데이터가 추가됩니다.
4. 문자열 함수의 사용
1. 문자열 길이 : strlen($변수)
ex) $size=strlen($name);
이렇게 하면 $name이라는 변수의 글자수를 알수 있습니다.
2. 문자열중 원하는 글자가 있는지 찾기 : ereg("찾는문자",$변수), eregi("찾는문자",$변수)
ex) if(ereg("ko", $name)) {실행문...}
이렇게 하면 $name변수안에 "ko" 라는 글자가 있으면 실행문을 실행합니다.
ereg()는 소문자, 대문자를 구별합니다. eregi()라는 대소문자 구별을 하지 않습니다.
3. 문자열중 원하는 글자를 다른 글자로 바꾸기 : ereg_replace("찾는문자","바꿀문자",$변수),
eregi_replace("찾는문자","바꿀문자", $변수)
ex) $temp=ereg_replace ("ko", "kim", $name));
이렇게 하면 $name변수안에 "ko"라는 글자가 "kim"으로 바뀌어져서 $temp변수에 저장됩니다.
$name 변수의 내용은 변동이 없습니다.
4. 문자열 분리 : split("분리기호", $변수)
보통 파일등에 자료를 저장할 때 |이나 &&등을 구분기호로 해서 문자열을 붙여쓰는 경우가 있습니다.
즉, 이름|나이|주소|Email|제목|본문... 등으로 파일에 데이터를 저장합니다.
split는 지정된 분리기호에 따라서 $변수안의 내용을 조각내어서 배열로 return 합니다.
즉 $data="이름|나이|주소|Email|제목|본문"; 일 때
$part=split("|",$data); 라구 하면 $part라는 변수는 배열변수가 됨가 동시에 $data의 내용중 |에 의해
분리된 문자열들이 들어갑니다.
즉 $part[0]="이름"이 되는 것입니다.
* 참고 : PHP에서는 +, |, @ 등을 특수문자로 간주합니다.
이런문자들을 문자열함수 안에 사용할려면 앞에 을 붙여줘야 합니다. +, |, @ ...
5. 연산자
연산자는 C와 동일합니다.
== (같다), != (같지 않다), < (작다), > (크다), <= (작거나 같다), >= 크거나 같다
&&또는 and (둘다 참이면 참), || 또는 or (둘중 하나만 참이면 참), ! (참이면 거짓, 거짓이면 참)
6. 화면 출력
php에서는 2가지를 쓸수가 있습니다.
print와 echo 입니다.
여기서 print는 한줄만 출력할 때 쓰고 echo는 한줄이상을 출력합니다.
print "내용";
echo "내용1
내용2
내용3";
보통 출력할 때 한줄 이상이기 때문에 print를 거의 쓰지 않습니다.
echo나 print 문의 안에는 "를 쓰면 에러가 납니다.
쓸려면 " 앞에 을 붙여줘야 합니다
echo "나는 어제 "허준"을 보았다";
위와 같이 해줘야지 "허준"이라는 글자가 잘 나옵니다.
그리고 echo는 한줄 이상이 문자열을 출력할수 있지만 코딩할 때는 적당히 놔누는 것이 나중에
수정할 때도 좋겠죠?
7. 조건문 &반복문
PHP의 조건문에는 if, elseif, else, switch, while등이 있습니다.
사용법만 간단히 적겠습니다.
1. if ($num<10) {실행문1;}
elseif ($num>10&&$num<20) {실행문2;}
else {실행문3;}
2. switch ($num)
{
case 1 : echo "1"; break;
case 2 : echo "2"; break;
case 3 : echo "3"; break;
default : echo "1~3의 값을 없습니다"
}
3. while ($num<10)
{
$num=$num+1;
echo "$num";
}
반복문에는 for, each를 이용한 while 등이 있습니다.
for($i=0;$i<=10;$i++)
{
echo "$i";
}
별루 안 어렵죠?
글구 C를 공부해보신분은 정말 C와 비슷하다고 생각하실거에요~~ ^^
댓글 204
-
석용범
2001.06.15 16:36
php가 월매나 쉬운디...^^ -
zzini
2001.06.15 17:42
덴장...진짜 어려워..문법은 이해가 가는데 -
한경수
2001.06.17 00:40
이게 간단한 문법인가요? -
vluez
2001.06.23 10:54
C 언어 배우는데 오래 걸리나염?? 물론 배우는 열의와 시간 투자에 따라 다르겠지만.. html과 비교한다면.. 얼마나 걸릴까염?? ^^* -
팝콘
2001.06.19 17:49
설명이 넘 좋아요.. 하지만 초보가 보기에는 어렵군요. -
우주인
2001.06.27 19:56
C가 먼데 씨씨 거리는거야...아...씨~ -
박현찬
2001.06.29 16:27
진짜네..c 랑 같구나.ㅡ_ㅡ;;c++ 에 더 가까운듯 아닌강? -_- 암튼 기분좋다 ㅎㅎ -
박현찬
2001.06.29 16:28
C 언어는여 독학해도 됩니다..하지만..이론은 할만하지만..연습문제.같은거디게어렵죠..오직 꾸준히..플그밍을 하는것만이 살길...ㅡ_ㅡV전..컴과1학년이지만..아직..초허접..푸핫.. -
박현찬
2001.06.29 16:34
C언어를 공부하셔야 저것들이 이해 잘되겟네여.ㅡ_ㅡ -
박현찬
2001.06.29 16:38
음 간단히 도움드리자면 스위치문은 가로안의 변수(NAME)값이 1(case1)이면 1출력..2면2출력.3이면3출력..요고거요. 와일 문은 가로안에 조건이 성립안할때까지 루프를 돕니다중가로 안의조건이성립하믄 바루 튕겨져나옴..글구 for 문은여 for(변수초기값;조건;증가값)으로 이루어짐다..물론 조건에 맞아야 중가로안의껄 실행하겟죠 :) 이상 허접한 도움.. -
박현찬
2001.06.29 16:39
위에 잘못썻다.ㅡ_ㅡ 와일...안의조건이 성립안하믄 바루 튕겨져 나옴..지송함다..ㅜ_ㅜ -
박지호
2001.06.29 19:25
11살의 나이론 이해가 안대는 건가벼 -
이병윤
2001.06.30 03:14
허걱... c다 잊어 버렷 -
이병윤
2001.06.30 03:15
허걱... c다 잊어 버렸당.. 덴장.. 힘들군요.. 이궁. 언제 다시 c의 개념을 잡고 php를 한다. 그냥 함해봐.. 이궁. 힘들어.. -
김병호
2001.07.01 15:02
헛 역시 여기까지가 한계인가 ㅡㅡ;; -
@.@
2001.07.04 14:31
배열이머에영 ㅡ,.ㅡ 저위에 변수지정에서영 -
@.@
2001.07.04 14:44
난 비주얼베이직 폼디자인뿐이 안배웟는데..c랑 비교해서 설명해주시니 어렵네영 ㅠㅠ -
황도근
2001.07.05 21:34
case는 잘 모르겠는데 안쓰고 딴거 쓰면 그만이제!? う(ㅡ▽ㅡ)し 우헤헤... -
최영경
2001.07.06 17:33
^^;;이런 질문을 해도 되나??? 어디서 작성을 하고 확장자는 어떻게 해야하고, 어디서 실행을 시켜야 하나요? 넘 기초적인 질문이라 다들 안하시나???? 그렇담 죄송.... -
장정근
2001.07.06 20:51
쯥.... 비줠베이직 정보처리 땜시 배웠는뎅.ㅡㅡ; 미세하게 도움이 되는듯... -
장정근
2001.07.06 20:51
냠냠... 근데 16살에 php라면 늦게 시작하는건가? 쯥..... 현재 딴거 하나도 안하고 php만 바라보고 있음..ㅡㅡ; -
@.@
2001.07.07 20:18
정근님 저도 정보처리땜시 비주얼베이직 폼디자인을 ㅋㅋ -
이범희
2001.07.10 11:27
쿨럭...제..제로님... 넘 어려버여..ㅠ. -
은선
2001.07.10 17:48
고딩1의 교과서에 있는거였네요 ^-^ 설명 고맙습니다. -
은선
2001.07.10 17:48
아! 그리고 C언어는 학교때 기본으로 다 봤던것들입니다. 기억을 해보세요 ^-^;; -
김다은
2001.07.15 21:24
어... 엄청나게 어렵다... 이게 간단한 문법입뉘까???ㅠ_ㅠ 고딩1 교과서에 있다고여??? 중딩1이라서 몰겠네여...ㅠ_ㅠ -
김다은
2001.07.15 21:25
저는 게시판이랑 방명록 스킨하고 제로보드 까는 법도 모르겠어요ㅏ -
엘프셩
2001.07.17 21:23
하...하나도 모르겠어요...-_ㅠ -
정상기
2001.07.21 09:17
C가 뭐래여? -
김예정
2001.07.21 13:36
저두 정보처리때문에..비줠베이직 한거 많은 도움이 되네여..^^ -
김예정
2001.07.21 13:36
군데여..영경님과 같은 질문 하구 시포여.. 어디서 실행하고 해야하져..?? -
곽기호
2001.07.21 18:02
PHP 무지 쉬운데~ -
강찬희
2001.07.28 02:37
우선 php코딩을 하셨으면 *.php로 저장을 하신후 html파일에서 include 명령으로 불러올수도 있구요..html테그내에 직접 삽입하시는 방법도 있습니다.. -
김종성
2001.07.28 14:19
흠.. 단점이 있는듯 한데.. 먼저 예제가 거의 없군요..프로그램이에서는 예제가 설명인데 2번 database와 MySQl 까지는 괜찮았는데 3번째에서.. 조금 어렵습니다.. ^^ -
김종성
2001.07.28 14:20
오타 '';; "예제가 설명인데'설명이 아니라 생명.. 그럼.. ^^ -
강제구
2001.07.28 18:13
죄송한 부탁인데...누가 저거점 예제로 설면해주세여~ -
강제구
2001.07.28 18:12
마지막 반복문에서 if는 자바하면서 무진장 많이 봐서 알겟는데 다른건 머져? -
혀니~*
2001.07.31 03:18
if는 조건을 거는거예요..^^; -
첼이
2001.07.31 10:54
꼭 학교온거 같은 기분이 들어여.....헉... -
김영곤
2001.08.01 20:04
중3한테는 너무 힘드네요-_-;; 그래도 대충 알아듣긴 알아 듣겠는데 전문용어때문에 헷갈려요 -
김수정
2001.08.14 11:48
제로님은 천재인가벼..~ -_- -
주의산만^^ㆀ
2001.08.14 13:20
냐핫 먼말이지 -
김민수
2001.08.23 22:50
이거 배울라믄..다른 언어 먼저 배우면 시울거같은데.. -
김민수
2001.08.23 22:50
머 배우면 좋아염?~ -
김민수
2001.08.23 22:51
글구 이런거 html 문서 만들듯이 메모장에서 하면대는건가여 -0- -
munq
2001.08.24 14:24
설명이 잘 되있군여^^* -
이영원
2001.08.26 19:40
저기 이 프로그램 어디서 구해요? -
임한결
2001.08.27 18:00
젠장..난 초전박살이군 -
조용민
2001.08.28 00:13
음...음..음...이번엔 몰겠다..ㅜㅜ -
송종윤
2001.08.31 21:30
음냥 어렵네 킄......
제목 | 글쓴이 | 날짜 |
---|---|---|
간단한 PHP 문법 [204] | zero | 2000.03.06 |
XE 1.5.X , 1.7.X 용 nginx rewrite [4] | Root | 2013.03.24 |
메뉴에 새글 표시 모듈이 작동하지 않은 문제 해결 [2] | 샹하이 | 2013.04.15 |
meta_add 애드온 수정.(1.7.3 버전에 맞게..) [4] | 투씨 | 2013.04.01 |
메인화면에 플래시 쉽게 삽입하는 방법.. [12] | 청개구리00 | 2008.08.30 |
스팸공동대응 api 모듈 지우기 [1] | SCAC | 2012.08.12 |
xe1.7.3.1 으로의 업데이트시 팝업모듈 오류 수정내역 [1] | 날마다좋은날 | 2013.04.12 |
제로보드 xe 게시판 가로 푹 줄이기 방법좀 알려주세요. [1] | 산업일꾼 | 2013.04.14 |
아이콘샵(v0.4) 관리자페이지 디자인수정파일(1.7.x 용) | 카이네드 | 2013.04.13 |
Startssl, iis에서 설치법. | 식군 | 2013.04.01 |
DOM구조를 시각화해서 파악하기 [13] | 웹기프트 | 2013.04.04 |
구글검색 색인 잘되는 확실한 효과. 레이아웃 스킨 제작시 참고하기면 좋습니다. [8] | NetCabin | 2011.04.21 |
회원정보 수정 위해 비밀번호 재입력 후 튕기는 경우 [2] | sejin7940 | 2013.01.06 |
Social XE 모듈의 클라이언트 토큰 발급 (난다날아님의 서버는 중지상태) [4] | 팩트위키 | 2013.03.29 |
여러도메인 사용시 하나의 도메인을 기본도메인으로 지정하지 않고 사용하기! [6] | 크루씨 | 2013.03.28 |
게시판 내용에서 하단에 빈 버튼 안보이게 하기 [2] | SEAN76 | 2013.04.04 |
외부로그인 (레이아웃 파일만 수정) [4] | 투씨 | 2012.10.13 |
1.7 버전의 새로워진 사이트맵(메뉴편집)에 적응해보자! [8] | EnuX | 2013.03.15 |
관리자의 즐겨찾기에 항목 추가하기 [2] | showjean | 2012.09.19 |
재미있는 조건문 팁 두 가지. [2] | 엘카 | 2013.03.23 |