웹마스터 팁
간단한 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.09.09 16:38
헐 난 뭐냐 대학2년동안 뭘했단 말인가 ㅡㅡㅋ -
퍼스~v
2001.10.13 17:47
C 예전엔 언젠가 배웠던 것 같기도..-_-;; 기억이 안나네여.. 에거... -
cHeRry
2001.10.14 22:15
으음-_-; C부터 배워야겠군녀;; 좋은 사이트 아시는분-_-;; -
신재목
2001.10.22 22:35
모르시더라두 절대 포기하지 마시고.......한 100번 보시면 될지 싶네요....(88번째 보는중) -
이희재
2001.11.17 16:57
그러니까 여차저차하면 삼차사차가서 정신을 잃는다는소린가요?@.@ -
박정환
2001.12.05 16:15
다르긴하지만 ASP배워둔게있어서 조금이나마 이해가 가네염 -
장백지
2001.12.09 03:50
어쎼엣~ 책사서 봐야지 모르겄다 진장 -
nanse
2001.12.13 14:05
그만 봐야게따 @_@ -
박민호
2001.12.27 15:30
ASP 조금 배워둬서 약간 이해가 가네
특히 변수 부분은 흥미롭군 -
오승현
2001.12.31 20:23
ㅜㅜ 무슨 소리 인지 하나도 몰르겠군요...^^;;; -
오승현
2001.12.31 20:24
PHP ... 정말 하나도 몰르겠네요..-_-;;
무슨 C <-- 라고 하시는거..
막.. c+ 이런건가요?
C <--이런거도..배워야 하나부다 ㅜㅜ -
오승현
2001.12.31 20:29
정말 배구고 싶은데요...
아무리 돌아다녀두...php 를 배우려면..나한테 무엇엇이 익혀져 있어야 하나?
php 를 공부하려면..제일처음 무엇을 시작해야 하나요...
강의 몇가지 보니깐 html 이 필수라더군요.. ^^;
근데..저도 딱.. html 쪼금 알거든요..
html 를 알고..또 무엇을 알아야..php 를 이해 할수 있나요? -
정용진
2002.01.02 17:34
뭔 말인지 알아 먹어야징.. -
서미혜
2002.01.06 20:46
이.. 이건.. -_-; 분명히.;; C를 이해해야 쉬울꺼같아요.ㅜ.ㅜ;;역시 제게는 무리네요.;;
쓰읍.;; 그래도 C를 열씨미~! 독학해봐야겠섬다.;;; -
김주현
2002.01.09 13:34
php 쉽네여..!! -
조일환
2002.01.14 19:19
와우 의외로 쉽네 흠...역시 이것도 C에서 응용된..... Zero님 감사^^ -
나용훈
2002.01.24 17:58
어렵다 -- -
임규만
2002.01.26 17:05
여기까진 이해 댐 -_-; (내머리로도 이해되는게 있군아 ㅠㅠ) -
안형갑
2002.03.02 20:08
아악..몰르게따 -
밍이
2002.03.12 15:21
후우...머리 딥따시아프네요.
+_+ 그래도 만들어 보겠다는 일념으로+_+ -
정영철
2002.04.16 03:32
넘 흐 어 려 버 욥 !!ㅜ.ㅜ -
난말야..
2002.05.26 21:48
생각보다 쉽넹... C는 한번도 배운적이 없지만.. 워낙 프로그래밍쪽에 머리가 잘돌아가다보니 이해가 잘 되는군.. ;; -
김현철
2002.07.29 17:47
어렵다!;;-_-;
그래도 나능 배워야한다!!
ㅜ_ㅜ;
거의 이해를 못했는뎁; -
:+:_티제이_:+:
2002.08.01 19:14
부지런히 노력하는자에게 길은 있나니...
약간 이해가..ㅠ.ㅠ 될때까지..읽자! -
Jay Song
2002.08.07 03:27
PHP 에 대해서 설명 하신거 정말이지 잘 하십니다. :)
덕분에 좀 배우게 되었습니다. 더 나은 지도 부탁드립니다. -
fraise-*
2002.08.12 16:11
C.할때.-_- 막막짜증났었는데;
확실히.도움이되는듯.[웃음]
뭐.그렇다고.꼭C를 알아야만.PHP 할수있는것같지는않다.
단지.이해가.조금더 빨라.질뿐.-_-a
그이상도.이하도.아님.
[전혀.성격이 다른.언어니까.-;;] -
윤민석
2002.10.04 20:29
으따...초보는..힘들구만 -
오재상
2002.12.19 10:03
php의 길은 멀고도 험한건가???
먼말인지 하나도 모르겠어요~! -
2002.12.20 03:47
음.........;;;;; -
Haangul
2002.12.30 02:08
모르는 분들은 섣불리 PHP책을 사지 마십쇼. 그리고 무엇을 하든 언어를 배우고 싶다면 C언어부터 터보C로 작성하여 하는 방법부터 시작하여 C++까지는 기본으로 하시기 바랍니다.
그거 모르고 이거 보면 도대체 뭐가 뭔지 모릅니다.
str... 이거 모르는 분은 어떻게 읽는지도 모릅니다. 에스티알이라고 읽죠.
str은 스트링이라고 읽는 것이죠. &는 앰퍼센트... 이런식으로 각 용어들의 이름도 대충 아는 것이 좋죠. 아무튼 무엇을 하든간에 C부터 시작을 하라는 것입니다. 또한 차트를 그려가면서 프로그래밍을 익히는 것이 최고죠. 아무래도 제가 사이트를 만들어 봐야 겠군요. 무턱대고 PHP 시작하지 마십쇼. 무작정 시작하면 막코딩의 길로 들어가게 됩니다. -
구본혁
2005.06.29 18:17
WIZ PHP 라고 무료 국산 PHP에디터 있습니다.(현재 계속 업데이트중) 네이버에 쳐보세요. -
yoyo
2002.11.26 08:56
C 랑 많이 비슷한데요.. 근대요. 그 절차를 잘 모러겟내요.. -
츠즈키
2005.06.22 12:19
읽어도 모르겠네요 그냥 메모장에다가 적으면서 하면돼나요?? -
애기
2003.01.27 21:43
으아~무섭군요!+_+ -
way
2003.05.10 22:20
대충 여기저기서 보았던 명령들이 나오네요...
특히 제로부드를 설치하면서 보았던 것들이요..
근데 사실 처음이라 잘은 모르겠지만...
만드는 샘플을 보면서 하나 하나 정리하면 될 것도 같다는 생각이 드네요...
사실...잘 모르겠지만...^^ -
너의나쁜눈
2003.05.27 05:44
자바랑 비슷하다.... -
마법구술
2003.06.08 12:36
켁,1 모르겟따, 무슨말인지,;;; -
박세은
2003.08.14 08:31
고등학교 교과서에 C 가 나오나요??
고등학교 한학기만 다니고 이민을 와서.. 모르겠네요..-.-a
오 신기하여라.. -
고현준
2003.08.14 10:38
어려워죽겠네 -ㅁ- -
이민
2003.09.25 10:25
어렵다 --,;;; -
문듀스
2003.11.29 13:20
모든 언어는 비슷 비슷 하네요....
Perl를 좀 공부하고 있는데.... 비슷한 부분이 많네요.... -
권혁준
2004.12.07 17:00
..... C부터 공부할까/// php만 공부할려니까 변수까진 알겠는데.. 그담엔 하나두 모르겠네 ㅡㅡ.
특히
if ($num<10) {실행문1;}
elseif ($num>10&&$num<20) {실행문2;}
else {실행문3;}
이런거에서. elseif는 뭐고 else는 뭐고 {실행문1;}이런건 왜 적는다냐. ㅡㅡㅋ
그리고 이런거 젤 눈아퍼// 딱 보면 바로 알 수 있어야는데..$num>10&&$num<20
아.. 보자 변수num이 10보다 크고 음.. 변수num이 20보다 작아야는거구나. ㅡㅡ. 눈아퍼.. 이거
한문장에 10초는 넘게 걸렸네.. -
psjump
2004.12.28 00:47
C언어를 익히고오지 않는분이라면 정말 이해하기 어려울듯 합니다 ^^;
저야 익히고와서 그런지 눈에 잘 들어오고 이해도 잘되구요 ^^;
강좌 열심이 따라하면서 php 마스터가 되볼게요 -0-ㅋ -
ooni
2005.01.06 23:09
이런문자들을 문자열함수 안에 사용할려면 앞에 을 붙여줘야 합니다. +, |, @ ...
에서 뭘 넣어야할지,,;;
를 넣으니까 에러가 나요. -
홍석훈
2005.01.07 20:51
마지막 부분이 잘 모르겠네요. ++ 이 뭘 뜻하는건지 잘 모르겠다는..
나머지는 아는 내용이군요. 훗; c언어나 php를 배운적은 없지만..제로보드를 사용하다보니, 알게 되버린; 하지만 ++ 은 정말 모르겠군요; -
김희성
2005.01.14 02:27
FOR문을 말하시는건가? ++는 증가라고 생각하시면됨.
for($i=0;$i<=10;$i++)
{
echo "$i";
}
for (기본값;최대값;증가법)
{
명령문;
}
구조입니다.
위의 for문을 실행하면
0,1,2,3,4,5,6,7,8,9
가 출력되죠..
반대로 -- 를 넣으면 숫자가 줄어들겠죠? -
자전거
2005.08.22 13:16
대충 이해가는데..''';;
처음 html이란것을 배울때와 비슷한느낌. -
DBLE
2005.11.25 01:03
잘 보았습니다..^^ -
이진수
2006.04.15 04:23
감사합니다.. 잘 보고 갑니다. -
함정희
2007.04.26 20:15
이 문법을 기본으로 광범위하게 익혀나가면 좋을 듯~ 감사합니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
간단한 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 |