메뉴 건너뛰기

Chsoo's HomePage공부방

PHP : [PHP] 간단한 PHP 문법

2004.06.23 22:39 조회 수 7873 추천 65 / 0
참고 사이트  
  ● 간단한 PHP 문법
아래의 내용은 제가 공부하면서 정리를 하고 있는 내용입니다.
저도 공부해나가면서 하나씩 익혀 나가고 있습니다.
현재는 다른사람에 의해서 쓰여진 내용을 UP하고 있으나, 제가 정리 되는대로
저도 강좌(?)같은 형식으로 올릴려고 합니다.
참고 하여 주시구요. 이 글 읽으면서 의문 사항은 Comment(간단한 덧글)나 질문&답변란을 이용해 주시기 바랍니다.
이부분 부터는 직접 하시는게 좋으나, 일단 눈에만 익혀둬도 나중에 보실 때는 쉽게 접근할 수 있으리라 생각됩니다.
아래의 내용은 nzeo에서 인용한 내용입니다.
 
  PHP의 문법은 C나 Perl과도 비슷합니다.
물론 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";
  }
 
   
   

 

 

   
   
   
   
   
번호 제목 글쓴이 날짜 조회 수
공지 이용하시면서.... 김창수 2001.06.15 8611
29 ZBXE(제로보드)에서 디카정보 표현하기 file 김창수 2008.07.24 7631
28 제로보드XE Ver 1.0.0 서버스 돌입 file 김창수 2008.03.18 9950
27 제로보드5(zb5) 개발 진행(현재 Beta 5.0.0.3) [1] file 김창수 2006.07.29 6621
26 디카게시판에 EXIF정보 표현하기 file 김창수 2006.04.20 6091
25 Layer를 이용한 메뉴 DB연동 (chsoo.pe.kr 사용됨.) [1] file 김창수 2006.03.21 6299
24 Layer를 이용한 메뉴(chsoo.pe.kr 사용됨.) [1] file 김창수 2006.03.21 4609
23 Swish MAX 각 효과 정리 Flash file 김창수 2006.01.25 5284
22 HTML문서에 주석 달기 김창수 2005.09.19 17729
21 JAVASCRIPT 이벤트 핸들러 정리 김창수 2005.07.11 9996
20 Header에 쓰이는 Meta Tag에 관한 설명 김창수 2005.03.29 7336
19 기초적으로 알아두어야 할 HTML Tag정리 [2] 김창수 2004.12.22 6819
18 홈피 만들기(chsoo.pe.kr)제 홈피 과정입니다. 김창수 2004.07.18 7405
17 [PHP] 파일입출력 문법 (간단히) [1] 김창수 2004.07.08 9990
» [PHP] 간단한 PHP 문법 [2] [1] 김창수 2004.06.23 7873
15 [HTML]색상 코드표 김창수 2004.06.19 5080
14 [PHP]Database, MySQL란? 김창수 2004.06.15 6775
13 [PHP]PHP에 대한 소개 김창수 2004.06.08 4813
12 [PHP]플래시로 보는 노프레임 홈 만들기! 강추(퍼옴) file 김창수 2004.05.16 6090
11 Tip 홈페이지 빠르게하는 [로딩속도를 높히는 10가지방법] 김창수 2004.05.12 4792
10 Tip 강좌 홈페이지(게시판)에 음악,동영상 바로보여주기 [3] 김창수 2004.03.06 5201
9 Tip 강좌 글자 흘러가는 Marquee Tag 이용하기 김창수 2003.12.06 4819
8 날짜마다 다른 페이지로 만들기 관리자 2003.07.31 4442
7 여섯번째 - a tag 익히기 관리자 2000.02.26 4224
위로