[PHP] php 연산자

|

  • PHP문은 <?PHP 와 ?> 사이에 넣는다.
  • PHP에서는 명령어가 끝날때마다 세미콜론(;)을 붙인다.
  • 한줄주석은 // 다중주석은 /* */

  • PHP에서는 문자열, 숫자, 배열등 변수에 들어갈 값에 따라 변수를 따로 정의할 필요가 없다.
    단, 문자열은 큰따옴표 또는 작은따옴표로 감싸야한다.
    단, 배열의 경우 array(); 를 사용하여 만든다. 각각의 문자열은 작은따옴표로 감싼다.
    ex) $name = array('냥','뽀');
    다중배열의 경우도 마찬가지 array(array(),array());
  • PHP에서는 변수앞에 반드시 심볼$를 붙여야 한다.
  • 변수 네이밍 규칙
  1. 변수의 시작은 알파벳이나 밑줄(_)로 해야 한다.
  2. 변수의 이름에는 a~z, A~Z, 0~9, 밑줄 만 쓸 수 있다.
  3. 변수 이름에는 공백을 넣을 수 없다. 하나 이상의 단어로 된 변수는 밑줄을 이용한다.
  4. 변수 이름은 대소문자를 구분한다.

  • 산술연산자

    연산자

    설명

    예제

    +

    더하기

    $j + 1

    -

    빼기

    $j - 6

    *

    곱하기

    $j * 11

    /

    나누기

    $j / 4

    %

    모듈러스(나머지)

    $j % 9

    ++

    1 증가

    ++$j

    --

    1 감소

    --$j

  • 대입연산자

    연산자

    예제

    동일한 풀이

    =

    $j=15

    $j = 15

    +=

    $j+=5

    $j = $j + 5

    -=

    $j-=3

    $j = $j - 3

    *=

    $j*=8

    $j = $j * 8

    /=

    $j/=16

    $j = $j / 16

    .=

    $j.=$k

    $j = $j . $k

    %=

    $j%=4

    $j = $j % 4


    * . 문자열을 연결할때 사용한다. $j.=$k 는 $j의 문자열 뒤에 $k의 문자열을 이어 붙인다.

  • 비교연산자

    연산자

    설명

    예제

    ==

    같다

    $j == 4

    !=

    같지않다

    $j != 21

    >

    크다

    $j > 3

    <

    작다

    $j < 100

    >=

    크거나 같다

    $j >= 15

    <=

    작거나 같다

    $j <= 8


  • 논리연산자

    연산자

    설명

    예제

    &&

    and

    $j == 3 && $k == 2

    and

    낮은 우선순위 and

    $j == 3 and $k == 2

    ||

    or

    $j < 5 || $j > 10

    Or

    낮은 우선순위 or

    $j < 5 or $j > 10

    !

    Not

    !($j == $k)

    xor

    Exclusive or

    $j xor $k


    * xor = 두값모두 참이거나 거짓일경우 FALSE, 둘중 하나가 참일경우 TRUE

  • $greet = "Hello";
    $ex1 = 'greeting : $greet';
    $ex2 = "greeting : $greet";

    $ex1의 출력결과는 greeting : $greet
    $ex2의 출력결과는 greeting : Hello

  • 이스케이프문자는 \', \"등으로 사용.
    탭 \t, 새줄 \n, 복귀 \r <큰따옴표내에서만 동작함.

  • 다중라인
    <<<_END ~ _END 사이의 모든 내용은 새줄과 공백을 포함한채 출력된다.
    큰따옴표와 마찬가지로 모든것을 출력한다. (변수를 값으로)

  • PHP에서는 변수의 값이 문자열에서 숫자로, 숫자에서 문자열로, 자동변환이 가능하다.

현재 공부하고 있는 책 : 소셜 웹 개발자를 위한 3대 핵심기술 PHP, MySQL, 자바스크립트

Learning PHP, MySQL & JavaScript 한국어판. / 로빈닉슨지음 황진호옮김

'IT > PHP' 카테고리의 다른 글

[PHP] php 연산자  (0) 2011.12.18
[PHP] 세션(session) 이란 ?  (0) 2011.11.24
[PHP] if 문  (0) 2011.11.18
[PHP] return, break, continue  (0) 2011.11.18
[PHP] 쌩초보자를 위한 PHP 프로그래밍 ( MySQL 연동)  (0) 2011.11.17
[PHP] MySQL Fetch 함수  (0) 2011.11.16
트랙백0 And 댓글0

[PHP] 세션(session) 이란 ?

|

php를 이용해서 로그인 페이지 만들기

세션이란?
- 사전적 의미 : 특별한 목적으로 사용자나 단체에 의해 점유되는 일정기간이나 시간
- 웹 환경에서 의미 : 사용자가 특정 우베사이트에 접속하여 머물러 있는 시간

기본적으로 HTTP 프로토콜의 경우, 클라이언트의 요청을 독립적으로 처리하게 된다. HTTP 프로토콜 특성상 사용자의 상태관리가 힘들다는 것이다. 따라서 이를 보안하기 위해서 나온것이 세션(SESSSION) 이라 생각하면 된다. 웹서버에서는 세션ID 를 이용해서 사용자의 정보를 유지/관리 할 수 있다.


세션 시작 / 세션 데이터 추가 / 세션 데이터 삭제 / 세션 종료하기
<?php

// 세션 시작 하기
session_start();

// 세션 데이터에 user_name, user_id 를 등록
$_SESSION["user_name"] = "시티락";
$_SESSION["user_id"] = "citylock";

// 세션에 등록된 데이터 출력
print_r($_SESSION);

// 세션데이터중에 user_name 변수 삭제
unset($_SESSION["user_name"]);

// 세션에 등록된 데이터 출력
print_r($_SESSION);

// 세션을 종료하기
session_destory();

?>


출처 : http://citylock.tistory.com

'IT > PHP' 카테고리의 다른 글

[PHP] php 연산자  (0) 2011.12.18
[PHP] 세션(session) 이란 ?  (0) 2011.11.24
[PHP] if 문  (0) 2011.11.18
[PHP] return, break, continue  (0) 2011.11.18
[PHP] 쌩초보자를 위한 PHP 프로그래밍 ( MySQL 연동)  (0) 2011.11.17
[PHP] MySQL Fetch 함수  (0) 2011.11.16
트랙백0 And 댓글0

[PHP] if 문

|

일단 먼저 코드를 확인해보면...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
    $na = 0;
    $age = 13;
  
    if($na == 1)
    {
        echo("나");    
    }
    else
    {
        echo("나아님");
    }
  
    if($age > 13)
    {
        echo("13살 넘었어요");
    }
  
?>

자 위에 코드를 보실까요?  $na 라는 변수엔 0을 넣어줬구요 $age라는 변수엔 13을 넣었습니다.

그리고 그다음에 이제 배우실 if문이 나오네요. 자 그럼 $na 라는 변수에 1이 들어가면 본인인

것이고 1이 아니라면 다른사람 이라고 합시다.

그럼 1일때는 나라고 표시해줘야하고 1이 아니면 내가 아리라고 표시를 해줘야겠죠?

그럴때 쓰는게 저 if문입니다. if($na == 1) 을 보시면 $na라는 변수가 1과 같으면

이라는 뜻이에요 즉 if(조건문) 이 참이면 if(조건문){ } 저 괄호부분 { 여기서 부터

} 여기까지를 실행하게 되어있죠 .. 그럼 조건문을 알아볼께요...

if($na == 1) 에 == 부분은  좌변($na) 과 우변(1) 이 같으면 이라는 뜻입니다.

그러면 $na와 1이 같으면이 되겠죠...  그다음 같으면이 있으면 같지 않으면도 있어야

합니다..  같이 않다는 것은 != 이런식으로 표현을 해줍니다. 같이않다는 뜻..

다음으로 크다 작다 도있어야겠죠? 이건 우리가 초등학교때 배운 산수와 똑같답니다.

< 이건 좌변이 우변보다 작다 라는 표현이구요  >이건 좌변이 우변보다 크다 라는 표현입니다.

미만 초과 의 표현이라고 보시면 되겠네요.

다음으로 이상 이하의 표현도 있어야겠죠.. 좌변이 우면보다 작거나 같다 라는 표현은 <= 이걸

로 해줍니다. 그리고 좌변이 우변보다 크거나 같다 라는 표현은 >= 이걸 씁니다..

그럼 조건문이 이해가 가시죠? ㄷㄷㄷㄷㄷ

자 다시 코드로 돌아가서 보겠습니다. $na 가 1과 같은 값이라면 그담 중괄호 부분을 실행합니다.

나 라고 뿌려줘라 라는뜻이죠... 그리고 중괄호 끝나고 그다음을 보시죠 else 라고 되어있죠?

그부분은 조건문이 참이 아니라면 그 뒤에 오는  { } 부분을 실행해라 입니다.

그럼 $na 가 1과 같은값이면 나 라는 글짜가 뿌려지고  1과 같은값이 아니면  나아님 이라는 값이

뿌려집니다.. 이해가시죠?

그렇다면 두번째 if문을 보죠. 만약 $age라는 값이 13보다 크면 13살넘었어요 라는 글짜를 뿌려주고

아니라면 아무것도 안하게 됩니다... 참 쉽죠? ㅋㅋ

그럼 다음 두번째 소스를 보시죠
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
    $na = 1;
    $age = 14;
    $sex = "man";
  
    if($sex == "man" & $age > 13)
    {
        echo("13살 넘은 남자입니다");
    }
    else if($age > 13 | $na == 1)
    {
        echo("13살이 넘었거나 주인입니다.");
    }
    else
    {
        echo("아무 해당사항이 없습니다.");
    }
  
?>

조건문을 2개를 주는 법을 공부하겠습니다.. 13살넘은 남자를 구분하고 싶다면?

13살을 넘어야 하고 그리고 남자여야 겠죠?

물론 if문 안에 또 if문을 써주고 실행해도 상관은 없습니다만... 한줄로 쓸수있는 방법

입니다. 한번 보시죠 ㅎ

if($sex == "man" & $age > 13) 이부분 보시면 조건이 2개 입니다

$sex 변수가 man과 같을때 한개 하고 $age 변수가 13보다 클때 입니다

근데 그 중간에 & 표시가 ㅎㅎ 저건 무슨뜻이냐면 그리고 라고 보시면됩니다.

$sex변수가 man과 같아야합니다 그리고 $age 변수는 13보다 커야 합니다.

라는 뜻이죠. 즉 2가지 조건문을 동시에 만족했을때 뒤에 { }안의 명령어를 실행하라

라는 구문입니다. 그리고 else if문이 있습니다. 위에 if문이 거짓이면 else 문 뒤에 { }를 실행

하는데 조건을 또 줄수가 있답니다.. 즉 if문이 거짓이면 else if문 안의 조건문으로 다시 한번

비교를 해줍니다.. else if문은 몇개가 붙더라도 상관없습니다. else if문 아래 else if문이 붙는다면

if문도 거짓이고 첫번째 else if 문도 거짓일때 그다음 else if 문의 조건을 비교하게 됩니다..

그럼 소스 설명을 한번 다시 볼까요?

if($sex == "man" & $age > 13) 이부분이 참이 아니면 else if($age > 13 | $na == 1) 이부분을

비교해서 참이면 바로뒤에 { echo("13살이 넘었거나 주인입니다."); } 이부분을 실행하라 라는 뜻

입니다. 즉 $sex 변수가 man과 같고 그리고 $age변수가 13보다 크지 않으면 다음 $age변수가 13보다

큰지 또는 $na변수가 1값인지 비교해서 참이면 뒤에  { echo("13살이 넘었거나 주인입니다."); }

이부분을 실행 해라 라는 뜻입니다.

자 근데 여기서 else if($age > 13 | $na == 1) 이부분에서 처음보는 문자가있죠? 역시 조건문은

2개인데 구분해주는게 다르네요  | 문자의 뜻은 또는 입니다.. 즉 $age > 13이라는 조건문과

$na == 1 이라는 조건문중에 하나라도 참이면 그 뒷부분을 실행하라입니다..

&는 두개다 참이어야 했지만  | 는 둘중 하나만 참이면 뒷부분을 실행합니다. 뒷부분이라하면

물론 바로뒤에 붙는 { } 이부분의 안의 실행문을 실행하는거지요.

참 쉽죠? ㄷㄷㄷㄷ 자 그럼 마지막 뒷부분은 위의 두가지 if문과 else if문이 둘다 참이아니면

else 문의 뒤에있는 { } 안의 실행문을 실행하게 됩니다.

if문 쉽죠? ㅋㅋ

이해를 다 하셨으리라고 봅니다.  그럼 if문을 줄여서 쓰는 법을 알아보겠습니다..

삼항연산자라는것을 쓸꺼에요 소스를 한번 보시죠
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
    $na = 1;
  
    if($na == 1)
    {
        echo("aaa");
    }
    else
    {
        echo("bbb");
    }
  
?>

자 위에 구문은 이제 이해가 가시죠? 그럼 저 구문을 삼항연산자로 줄여서 써보겠습니다.
1
2
3
4
<?
    $na = 1;
    echo( ($na == 1)?"aaa":"bbb" );
?>

자 볼까요? 이상한 머시기가 주루룩있죠? ㅋ 문법은 이렇습니다.

(조건문)?"참일때값":"거짓일때값";

이해가 가시나요?

해석을 해보면 echo() 는 뿌려줘라 이고. ($na == 1) 이부분이 조건문입니다.. $na 가 1이면

그뒤에부분은 ?"aaa" 조건문($na == 1)이 참이면 aaa

뒤에 :"bbb" 거짓이면 bbb 라는 뜻입니다 echo문 안에 있으니까 뿌려줘라 겠지요..

실행을 해보시면 이해가 빠르실겁니다. 보통은 변수하나를 주고 그 변수에 값을리턴받을때 씁니다만..

위와 같은식으로도 사용가능하더라구요 .. 좀더 이해하기 쉽게 위에 구문을 한번 풀어보겠습니다.
1
2
3
4
5
6
<?
    $na = 1;
      
    $var_echo = ($na == 1)?"aaa":"bbb";
    echo($var_echo);
?>

그나마 이해하기 좀 쉬우시죠?  

저걸 삼항연산자라고 합니다.. 다른소스 보시다가 저런구문이 나오면 당황하지 마시길 삼항연산자는

if문을 줄여서 쓴거락 생각하시면 됩니다.. 삼항연산자를 가지고 else if 문을 사용해볼까요?
1
2
3
4
5
6
<?
    $na = 3;
  
    $var_echo = ($na == 1)?"aaa":(($na == 2)?"bbb":"ccc");
    echo(var_echo);
?>

자 소스를 보시면 삼항연산자 안에 또 괄호를 주고 다시 삼항연산자를 주었습니다..

즉 $na가 1일때는 aaa를 $var_echo에 넣어주고 아니면 $na 가 2이면 $var_echo에 bbb 를 넣어주고

그것도 아니면 ccc를 넣어줘라 라는 뜻입니다..

조건문 안에 조건문을 주었어요... 근데 보통은 else if문이 필요한 상황이라면 삼항연산자보단

else if 문을 써주는게 안햇갈린다는 ㅋㅋ 그냥 if문을 한번만 쓸때 사용하도록 하세요...

아 이로서 if문 관련된 제어문들 설명이 끝났습니다... 어떻게 이해는 잘가셨느지?

이글을 읽으시는 분들이 적은건지?? 아님 제가 설명을 열라 잘하는건지 궁금해 하시는 분들 이 없네요 ㅋㅋㅋ

자 다음번엔 또 다른 제어문을 공부해보도록 할께요 .. 제어문은 몇개 되지 않아요

그것만 잘 익히셔도 플밍은 금방 익히실수있을듯... 자 그럼 열공~

 

'IT > PHP' 카테고리의 다른 글

[PHP] php 연산자  (0) 2011.12.18
[PHP] 세션(session) 이란 ?  (0) 2011.11.24
[PHP] if 문  (0) 2011.11.18
[PHP] return, break, continue  (0) 2011.11.18
[PHP] 쌩초보자를 위한 PHP 프로그래밍 ( MySQL 연동)  (0) 2011.11.17
[PHP] MySQL Fetch 함수  (0) 2011.11.16
트랙백0 And 댓글0

[PHP] return, break, continue

|
return은 특정한 값을 리턴 시키는 겁니다, 말 그대로 반환 시킨다는거죠.
function returnTest($str) {
     return $str;
}


위 사용자 함수를 이용하여 설명을 하자면 결과는 아래와 같습니다.


$message = returnTest("여기에 반환될 값을 입력합니다.");
echo "결과 : " . $message;
결과 : 여기에 반환될 값을 입력합니다.


returnTest 함수에서 처리된 특정한 값을 리턴시켜 변수에 저장을 하는 것 입니다.


break 은 switch 문에서 주로 쓰이죠,
break 구문이 들어가 있으면 반복문이나 switch 문을 빠져 나가게 되는 역할을 합니다.
     switch($조건) {
     case '1' :
          echo '조건 1';
     case '2' :
          echo '조건 2';
     break;
}
위 소스로 해석하면 $조건이 1일경우의 결과는 '조건 1 조건 2' 이렇게 둘 다 표시가 됩니다.
그 이유는 case '1' 에는 break; 이 있지 않기때문에 해당 조건부터 시작하여 다음 조건의 break;
이 있을때 까지 계속해 조건을 완료하는 형식이죠. 하지만 $조건이 2일 경우의 결과는
'조건 2' 만 출력하고 끝나게 됩니다.


continue는 반복문에서 특정한 조건을 완수하면 처리를 건너뛰고 다음 반복으로 넘어가게 합니다.
$str = "지식인";
for ($i=0; $i<=50; $i++) {
     $str += $i;
if ($str == "지식인30") {
     continue;
     }
}
위 소스대로 하면 $str 은 $i 가 반복될때 마다 문자결합을 하게 되는데 만약 $str이 지식인30 이 될 경우
다음 반복으로 그냥 넘어간다는 것 입니다.

출처 : http://blog.naver.com/phpgood

'IT > PHP' 카테고리의 다른 글

[PHP] 세션(session) 이란 ?  (0) 2011.11.24
[PHP] if 문  (0) 2011.11.18
[PHP] return, break, continue  (0) 2011.11.18
[PHP] 쌩초보자를 위한 PHP 프로그래밍 ( MySQL 연동)  (0) 2011.11.17
[PHP] MySQL Fetch 함수  (0) 2011.11.16
[PHP] 입문, php는 어떻게 돌아가고 무엇인가?  (0) 2011.11.14
트랙백0 And 댓글0

[PHP] 쌩초보자를 위한 PHP 프로그래밍 ( MySQL 연동)

|

PHP4 이상에서 실행 가능한 소스입니다.

MySQL이 설치된 PHP서버에 접속한 후 php파이를 생성 한 다음에 다음 소스를 저장하고 실행해 봅니다.

<?
     //DB계정 정보를 변수에 할당
     $DBINFO['host'] = 'localhost'               //  호스트 명, localhost가 아닌 경우는 DB서버의 ip나 도메인
     $DBINFO['user'] = 'username'             //  DB 아이디
     $DBINFO['pass'] = 'userpw'                //  비밀번호
     $DBINFO['name'] = 'databasename'    //  DB 이름

     $_connect = @mysql_connect($DBINFO['host'],$DBINFO['user'],$DBINFO['pass']);
     if($_connect){  //연결에 성공했다면
            if(@mysql_select_db($DBINFO['name'],$_connect)){   //DB명으로 해당 DB를 선택하고 성공했다면
                   echo "데이터 베이스 접속에 성공했습니다. <br>";
            }else{
                   echo "데이터 베이스 이름을 확인하세요. <br>";
                   exit();
            }
      }else{
           echo "데이터 베이스 접속 실패 <br>";
           exit();
      }
?>

접속에 실패했다면 호스트 아이디 비밀번호가 맞지 않거나 다른 문제일 수 있다.
이제 접속에 성공 했다면 아래에 다음 소스를 추가해 보자.

<?
     //입력할 데이터를 변수에 할당
     $id = "idtest";
     $pw = "pwtest";
     $birth = "1990-11-30 10:30:10";

      //INSERT문 작성
      $sql = "
           INSERT INTO test SET
               id = '".$id."',
               pw = '".$pw."',
               birth = '".$birth."'
              ";
       //SQL 실행
       mysql_query($sql, $_connect);

       //SELECT문 작성
       $sql = " SELECT * FROM test ";

       //SELECT문 실행하고 결과값을 $rs변수로 받아옴
       $rs = mysql_query($sql,$_connect);

       //$rs의 내용을 레코드별로 $row변수에 저장하면서 끝날 때까지 돌림
       while($row = mysql_fetch_array($rs)){
              echo $row["id"]."<BR>";         //$row 배열의 id값을 출력
              echo $row["pw"]."<BR>";
              echo $row["birth"]."<BR>";
              echo "<BR>";
       }

?>

위 소스를 실행하면 테이블에 INSERT되면서 내용들이 출력이 됩니다.

F5 키를 눌러 페이지를 리로딩할 때마다 INSERT 됩니다.

UPDATE와 DELETE는 위에 INSERT했던 것과 동일한 방법을 사용하시면 되겠습니다.

그럼 이제까지 배운 내용을 토대로 HTML 파일에서 get나 post로 받은 값을 데이터 베이스에 저장해 보세요.

db_test_form.html
<form action = "db_test.php" method = "post">
    ID <input name = "id"> <br>
    PW <input name = "pw"> <br>
    <input type = "submit">
</form>

db_test.php
<?
     $DBINFO['host'] = 'localhost'
     $DBINFO['user'] = 'username'
     $DBINFO['pass'] = 'userpw'
     $DBINFO['name'] = 'databasename'

     $_connect = @mysql_connect($DBINFO['host'],$DBINFO['user'],$DBINFO['pass']);
     if($_connect){
            if(@mysql_select_db($DBINFO['name'],$_connect)){
                   echo "데이터 베이스 접속에 성공했습니다. <br>";
            }else{
                   echo "데이터 베이스 이름을 확인하세요. <br>";
                   exit();
            }
      }else{
           echo "데이터 베이스 접속 실패 <br>";
           exit();
      }

    $sql = "
         INSERT INTO test SET
              id='".$_POST[id]."',
              pw='".$_POST[pw]."',
              birth=now()
             ";
     mysql_query($sql,$_connect);

     $sql = "
          SELECT * FROM test
      ";   

       $rs = mysql_query($sql,$_connect);

       while($row = mysql_fetch_array($rs)){
              echo $row["id"]."<BR>";         
              echo $row["pw"]."<BR>";
              echo $row["birth"]."<BR>";
              echo "<BR>";
       }
?>

간단하게 PHP와 MySQl을 연동해 보았습니다.

출처 : http://cafe.naver.com/pdpage.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=118&
트랙백0 And 댓글0
prev | 1 | 2 | next

티스토리 툴바