RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
Web_developing/PHP  2006/09/16 22:04
출처 블로그 > 행복이네 집
원본 http://blog.naver.com/prebetty79/100028415343

폼변수 다루기

  폼변수

   PHP 스크립트에서 폼 필드 값은 PHP 변수처럼 접근 할수 있다.

   3가지 방법이 있다.

     ex)

          $tireqty                                  //짦은 스타일

          $_POST['tireqty']                   // 중간 스타일

          $HTTP_POST_VARS['tireqty']  // 긴 스타일

    1. 짧은 스타일 : register_globals를 활성화 시켜야 쓸수 있다. (비추천)

                            지역변수와 혼란을 야기 한다. 4.2.0이후로 비활성화 되어있다.

    2. 중간 스타일 : 추천되는 방식(4.1.0이후에서만 가능)

    3. 긴 스타일 : 지양되어 왔다. 모든 버전에서 사용할수 있어 이식성은 높다.

                        성능에 좋지 않다. registre_long_arays로 비활성화 할수 있다.

식별자(Identifier)

dfe

  - 식별자는 변수의 이름을 말한다.

 - 길이 제한은 없으며 문자,숫자,'_', '$'로 만들 수 있다.

  - '$'는 가변변수때문에 조심해서 사용해야 한다.

  - 숫자는 매 앞에 올수 없다.

  - 대소문자를 구분한다.

변수형

: 변수의 형(type)은 저장된 데이터의 종류에 따라 정해진다.

   기본데이터형

     ■ Integer : 모든 숫자

     ■ Float

     ■ String

     ■ Boolean

     ■ Array

     ■ Object

     이 외에 NULL형과 resource형(외부자원 ex DB연결)이 있다.

형 강도(Type Strength)

PHP는 형 강도가 매우 약한다. 변수에 저장된 값에 따라 형이 결정된다.

     $a = 0;

     $a = 0.00;

       // $a는 처음엔 정수형이였다가 실수형으로 바뀐다.

     $a = 'Hello';  // 이것도 가능하다 이제 $a는 문자열이다

가변 변수(variable varialbes)

:  가변변수를 사용하면 변수의 이름을 동적으로 바꿀수있다.

  ex)

   $varname = 'b';

   $$varname = 5;

 

  위는 $b = 5 와 하는 것과 동일하다.

  

상수

  - 상수는 define 함수를 사용하여 상수를 정의한다.

    ex)

        define('TIREPRICE' , 100);

        define('OILPRICE', 10);

        define('SPARKPRICE', 4);  

  - 상수의 사용

     : 변수는 $를 붙이지만 상수는 상수의이름만 적어주면 된다.

    ex)

      echo TIREPRICE;


변수의 범위(scope) 6개의 범위를 가지고 있다.

- 수퍼글로벌 변수는 스크립트 전역에서 사용할 수 있다.

- 한번 선언된 상수는 스크립트 전역에서 사용할 수 있다. 즉 함수의 안과 밖 모두에서 사용할 수 있다.

- 전역변수는 스크립트 내에서 정의된 변수로 스크립트 내에서 사용할 수 있지만, 함수 안에서는 사용할 수 없다.  

- 함수 안에서 정의된 변수는 함수 내에서만 사용할 수 있다.

- 함수 안에서 전역으로 정의된 변수는 함수 밖에서는 사용할 수 없지만 매 사용 시마다 값이 저장되어 다음에 사용할 수 있다 ???

- 함수 안에서 사용된 변수는 함수가 끝나면 삭제된다.


수퍼글로벌 전체 리스트

  - $GLOBALS

  - $_SERVER

  - $_GET

  - $_POST

  - $COOKIES

  - $_FILES

  - $_ENV

  - $_REQUEST

  - $_SESSION



Operation(연산자)

대부분 C, Java랑 비슷하고 틀린부분만 정리

- 문자열 연산자   '.' : 문자열을 앞뒤로 붙여서 새로운 문자열을 만든다.

  ex)

     $a = "Bob's";

     $b = 'Auto Parts';

     $result = $a.$b;


   결과 $result에 저장된 값은 "Bob's Auto Parts"이다.

  - 산술 연산자

   : 산술 연산자의 operand(피연산자)는 정수와 실수형으로만 쓰일 수 있다. 만약 문자열로 산술연산을 시도한면 문자열을 숫자로 바꾸어서 실행한다. 문자열에 "e"나 "E"가 들어있다면 실수형으로 변화 한다. 그 외에는 정수형으로 변환. PHP는 문자열 처음에서 숫자를 찾아서 그것을 값으로 인식하는데, 만약에 문자열에 숫자가 없다면 문자열의 값은 0이 된다.


 - 참조 연산자(Reference)

   : C의 &연산자와 같음..

    ex) $a = 5

          $b = $a; --> $a, $b 서로 다른 메모리 영역을 가진다.


          $a = 5;

          $b = &a; 

          &b = 7    // $a, $b 서로 같은 메모리영역을 가진다 즉 $a, $b가 7


           unset($a)  : 서로의 참조를 다르게 한다 (관계를 떼어놓을 수 있다)


- 비교연산자(Comparison Operatiors)

     identical operator (===) : 두 피연산자가 값이 같고 같은형일 때만 true를 리턴한다.

     Not Identical (!==)  : != 와는 다르다

     Not Equal (<>) : 같지 않다. (!=) 와 같이 동일한 의미로 쓰인다.

- 에러 억제 연산자(error suppression operator) : @

    : '@'은어떠한 표현식에도 쓸수 있다.

    ex) $a = @(57/0)

     '@'가 없다면 위 문장은 "0으로 나누기"에 의한 에러가 발생하지만 '@'를 앞에 써주어서 에러는 무시하고 넘어간다. 만약 이런 방식으로 억제한다면 에러를 처리하는 코드를 작성해야 한다. 만약 PHP에서 track_error를 설정해 놓았다면 에러메시지를 전역변수인 $PHP_erromsg에 저장한다.


- 실행 연산자(execution operation)

 :  '`' 와 '`'로 이루어진 한 쌍의 연산자로 '`'는 홑따옴표(')와는 다른 키보드 ~아래에 있다.

   PHP에서 서버의 커맨드 라인에서 실행하고 싶은 것이 있다면 `` 사이에 명령어를 쓰면된다.

   그러면 ``의결과값이 표현식의 리턴값이 된다.

   EX)

      유닉스 환경

        @out = `ls -la`;

        echo '<pre>'.$out.'</pre>';

     그러면 시 디렉토리의 파일 리스트가 보이게 된다.


    

- 배열 연산자

   +       |    $a + $b    |  $a와 $b가 가지고 있는 모든값을 반환한다(합집합)

  ==       : $a, $b가 같은 요소를 가지고 있으면 true

  ===     | $a, $b가 같은 요소를 같은 순서로 가지고 있으면 true

  !=

  <>

  !==


변수와 관련된 함수

- 변수의 데이터 형을 검사하고 설정하기

 

      string gettype(mixed var);

         : 'boolean", "integer", "double", "string", "array", "object", "resource", 혹은 NULL을 반환한다. 표준 데이터 형이 아니면 "unknown"을 반환


      bool settype(mixed var, string type);


       ■ is_array()

       ■ is_double(), is_float(), is_real() (모두 같은 함수)

       ■ is_long(), is_int(), is_integer() (모두 같은 함수)

       ■ is_string()

       ■ is_object()

       ■ is_null()

       ■ is_scalar() - 변수가 스칼라 변수인지 확인한다. 즉 정수형, 불리어형, 문자열이나 실수형인지 확인한다.

       ■ is_numeric() - 변수가 숫자나 혹은 숫자 문자열인지 확인한다.

       ■ is_callable() - 변수에 저장된 값이 호출할 수 있는 함수의 이름인지 확인한다.


- 변수 상태 검사

   boolean isset(mixed var);

     : 이 함수는 변수의 이름을 인자로 받아서 만약 이 변수가 존재한다면 true를 반환한다.

      , 로 연결된 변수들을 주면 모든 변수가 존재해야 true를 반환

   boolean unset(mixed var);

    : 인자로 받은 변수의존재 자체를 없애고 true를 반환한다.

  empty(mixed var);

    : 변수가 존재하고, 비어 있지 않으며, 0이 아닌값을 가지고 있다면 true를 리턴

   

 - 변수형 변환

   int intval(mixed var[, int base]);  base :진수 (10, 2, 16)

   float floatval(mixed var);

   string strval(mixed var);

     

== 제어문 ==

 대부분 C와 비슷하지만, 틀린점만 요약하면

 

  1.  else if    -->  elseif  와 같이 붙여서 쓴다   

  2. 루프를 빠져나갈때 'continue', 'break' 이외에 'exit' 라는 제어문이 있다.

     'exit' : 루프를빠져나가 PHP 스크립트를 완전히 끝낸다.

  3. 대체 제어 구조

      { } 로 구역을 정하는 것이 아니라

        '{' 대신에 ':' 를 쓰고,

        '}' 대신에 사용한 제어구조에 따라, endif, endswitch, endwhile, endfor, endforeach를 쓸수있다.

     ex)

      if( $totalqty == 0 )

      {

           echo 'You did not ... ';

           exit;

      }

        를 아래와 같이 쓸수 있다.

      if( $totalqty == 0 ) :

           echo 'You did not ... ';

           exit;

      endif

   4. declare

     declare (directive)

     {

           // block

     }

       이 구조는 코드 블록에서 실행 지침(execution directive)를 설정하기 위해 사용된다.

       단 하나의 실행 지침인 tricks 만이 구현되어있는데 tricks=n이라는 방식으로 지침을 삽입할 수 있다. 코드 블록내에 있는 특정 함수 중 n개의 코드 행을 실행 시킬 수 있어 디버깅에 매우 유용한다.

2006/09/16 22:04 2006/09/16 22:04
이 글에는 트랙백을 보낼 수 없습니다
웅쓰:웅자의 상상플러스
웅자의 상상플러스
전체 (379)
게임 (5)
영화 (2)
기타 (23)
맛집 (5)
영어 (2)
대수학 (3)
형태소 (5)
Hacking (9)
Linux (112)
HTML (48)
Application_developing (48)
Web_developing (102)
Window (11)
«   2024/04   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
  1. 2016/01 (1)
  2. 2015/12 (3)
  3. 2015/10 (3)
  4. 2015/03 (2)
  5. 2015/01 (4)