PHP

PHP

    ›기초 문법

    eBook

    • eBook 다운로드

    개발 환경 만들기

    • PHP 시작하기
    • 윈도우용 APM 설치
    • 리눅스용 APM 설치
    • 에디터 설치하기
    • APM 환경 테스트

    기초 문법

    • PHP 동작 방식
    • PHP는 무엇인가?
    • PHP 모드와 HTML 모드
    • 변수 - 진리값, 정수,실수,문자열
    • 변수 - 배열, 객체, 널
    • 변수의 종류와 외부로부터의 변수
    • 식별자
    • 변수의 범위
    • 상수
    • 연산자
    • 연산자 우선순위
    • if
    • while, for, continue, break, switch
    • 제어 구조 - include , require , return
    • 함수

    연산자

    산술 연산자

    산술 연산은 흔히 우리가 접하는 더하기 빼기 곱하기 나누기를 말합니다.
    어려운 말로 가감승제(加減乘除) - 모처럼 오바했음 ... ^^ (씨익) .... 퍼버벅.. @# 지송..ㅜㅜ

    연산자기능
    +더하기
    -빼기
    *곱하기
    /나누기
    %나머지

    산술 연산자는 우리가 수학시간에 많이 봐오던 것들이니 익숙하실 것입니다. 곱하기, 나누기 기호가 조금 특이한 것과 나머지?라는 연산자가 있다는 것이 특이한 점이네요.

    대입 연산자

    대학가는 연산자가 아닙니다. ㅡㅡ;; ( 오늘따라 무지 오바하는 군요.. 지송함돠.. 주의 할게요 .. )
    기본 대입 연산자는 = 입니다.
    일반적으로 = 기호는 같다라고 생각합니다.
    그러나 a = b 는 a 와 b 는 같다가 아니라.. (PHP에서 실제 같다는 ==입니다.)
    b의 값을 a에다가 대입한다 라는 뜻입니다.
    그래서 대입 연산자이지요.. ^^

    결과적으로는 a 와 b 가 같지만.. 의미상 아주 다릅니다. 특히 프로그램에서는 치명적이죠..

    $a = ($b = 4) + 5; // $a는 9, $b는 4의 값을 가진다.  
    

    괄호 안이 가장 우선으로 처리됩니다. 따라서 $b 는 4 가 되고 4 가 된 $b에 5를 더한 그 값이
    $a 에 입력됩니다. 결과는 $a 는 9 , $b 는 4입니다.

    비교 연산자

    비교 연산은 말 그대로 두 개의 값을 비교하는 것입니다

    연산자기능
    <작다
    >크다
    <=작거나 같다
    >=크거나 같다
    ==같다
    !=같지 않다

    증감 연산자

    연산자기능
    ++$a$a를 1 증가후 $a를 반환
    $a++$a를 반환후 $a 에 1 증가
    --$a$a를 1감소후 $a를 반환
    $a--$a를 반환후 $a 에 1 감소

    예제를 보면 이해가 갈겁니다.

    <?php  
    echo "<h4>후 증가</h4>";  
    $a = 5;  
    echo " \$a++: " . $a++ . "<br>\n";  
    echo " \$a : " . $a . "<br>\n";  
      
    echo "<h4>선 증가</h4>";  
    $a = 5;  
    echo " ++\$a: " . ++$a . "<br>\n";  
    echo " \$a : " . $a . "<br>\n";  
      
    echo "<h4>후 감소</h4>";  
    $a = 5;  
    echo " \$a--: " . $a-- . "<br>\n";  
    echo " \$a : " . $a . "<br>\n";  
      
    echo "<h4>선 감소</h4>";  
    $a = 5;  
    echo " --\$a: " . --$a . "<br>\n";  
    echo " \$a : " . $a . "<br>\n";  
    ?>
    

    결과

    후 증가
    
    $a++: 5
    $a : 6
    
    선 증가
    
    ++$a: 6
    $a: 6
    
    후 감소
    
    $a--: 5
    $a : 4
    
    선 감소
    
    --$a: 4
    $a: 4
    

    논리 연산자

    예이름결과
    $a and $band두 변수 모두 참일 때 TRUE.
    $a or $bor두 변수중 적어도 하나가 참이면 TRUE
    $a xor $bxor둘 중 하나만 참이면 TRUE, 둘이 같으면 FALSE
    !$anot변수가 거짓일 때 TRUE, 참이면 FALSE
    $a && $band두 변수 모두 참일 때 TRUE.
    $a || $bor두 변수중 적어도 하나가 참이면 TRUE

    && 이나 and, || 나 or 는 같습니다.
    그러나 따로 해놓은 이유는 우선순위가 서로 다르기 때문입니다.

    문자열 연산자

    문자열을 더할 때는 . (쩜) 연산자를 씁니다.

    $a = "안녕";  
    $b = "하세요";  
    

    일 때 두 문자열을 더하고 싶으면 아래와 같이 하시면 됩니다.

    $c = $a . $b;
    

    $c 에 한마디를 더 추가하고 싶을 때는..

    $c .= " 반가워요~";
    

    $c .= ""; 는 $c = $c . ""; 와 같은 줄여쓰기 방법입니다.

    결과적으로는 아래와 같습니다.

    $c = "안녕하세요 반가워요~";
    

    배열 연산자

    배열을 서로 더하기 위해서는 "+" 플러스 기호를 이용하여 가능합니다.
    왼쪽의 배열에 오른쪽 배열을 더하여 집니다.

    <?php
    $a = array("a" => "사과", "b" => "바나나");
    $b = array("a" =>"배", "b" => "딸기", "c" => "포도");
    
    $c = $a + $b; 
    ?> 
    

    결과는

    $c = array("a" =>"사과", "b" => "바나나", "c" => "포도");
    

    같은 a,b 키를 가지는 값은 덮어쓰여지지 않고 중복되지 않는 것만 추가가 되었습니다.

    실행 연산자

    실행 연산자(` `)를 이용하여 서버에 쉘명령을 실행할 수 있습니다.
    실행 연산자는 백틱으로 작은 따옴표가 아닙니다. 키보드의 Esc 아래키입니다.

    <?php
    $output = `ls -al`;
    echo "<pre>$output</pre>"; 
    ?> 
    

    이 연산자는 shell_exec() 함수를 사용하는 것과 동일합니다.
    보안문제로 인해 PHP가 안전모드로 동작하거나 shell_exec() 함수의 사용이 제한되었다면
    이 연산자 또한 실행되지 않습니다.

    에러제어 연산자

    PHP 표현식에서 에러가 발생할 수 있는 곳에 "@" 기호를 붙이므로해서
    에러를 출력하지 않게 하는 연산자입니다.

    <?php
        @include "a.php";
    ?>
    

    만약 a.php 파일이 없을 경우 include 가 실패하여 에러를 표시하게 되지만
    에러제어 연산자가 있기 때문에 에러를 표시하지 않고 넘어가게 됩니다.
    에러가 발생해도 프로그램의 실행에는 상관없는 그러한 경우에 이 연산자를 사용하시면 됩니다.

    비트 연산자

    비트 연산은 숫자를 2진수로 생각하여 각각의 비트별로 계산하는 연산입니다.

    예이름결과
    $a & $band양쪽의 비트가 모두 1인 자리를 1로 나머지는 0으로 세팅
    $a | $bor둘중 적어도 하나의 비트가 1이면 그 자리를 1로 모두 0이면 0으로 세팅
    $a^$bxor비트가 같으면 그 자리를 0으로 다르면 1로 세팅
    ~$anot모든 비트를 0은 1로 1은 0으로 세팅
    $a << $bleft shift모든 비트를 왼쪽으로 $b자리씩 이동 (한번 이동은 2를 곱한 것과 같음)
    $a >> $bright shift모든 비트를 오른쪽으로 $b자리씩 이동 (한번 이동은 2를 나눈 것과 같음)

    실제 적용 예) 12는 2진수로 1100 이고 5는 2진수로 0101 입니다.

    예설명결과
    12 & 51100 과 0101에서 모두 1인자리만 1 따라서 01004 (0100)
    12 | 51100 과 0101에서 하나만 1이어도 1 따라서 110113 (1101)
    12 ^ 51100 과 0101에서 같으면 0 다르면 1 따라서 10019 (1001)
    ~121100을 반대로 따라서 00113 (0011)
    12 << 21100을 왼쪽으로 두자리 이동 따라서 11000048 (110000)
    12 >> 21100을 오른쪽으로 두자리 이동 따라서 00113 (0011)

    비트 연산자나 실행 연산자는 특별한 경우에만 사용하므로 처음에는 그냥 넘어가셔도 괜찮습니다.

    Last updated on 2020-3-31 by Myeongjin Cho
    ← 상수연산자 우선순위 →
    • 산술 연산자
    • 대입 연산자
    • 비교 연산자
    • 증감 연산자
    • 논리 연산자
    • 문자열 연산자
    • 배열 연산자
    • 실행 연산자
    • 에러제어 연산자
    • 비트 연산자
    커뮤니티
    PHP 공식 웹사이트한국 PHP 개발자 커뮤니티
    유용한 정보
    책 소스 코드
    Copyright © 2020 EZPHP.NET