본문 바로가기

프론트앤드 수업

[PHP 기초] 문법, echo함수 변수의선언

728x90

PHP 문법

  1. PHP 권장 스타일 :
  2. HTML 스크립트 스타일:
  3. SGML 스타일 : <? ... ?>
  4. ASP 스타일 : <% ... %>

echo()함수
문자열을 출력하는 함수이며 2개이상의 인수를 전달할때 괄호를 사용해선 안된다.
문자열과 문자열을 이어줄때는 . 을 사용한다.

변수의 선언
PHP에서는 달러($) 기호를 사용하여 변수를 선언한다.
문법
$변수이름 = 초깃값;

    <h2>1+1</h2>
    <?php
        echo 1+1; // 2
    ?>
    <h2>2-1</h2>
    <?php
        echo 2-1; // 1
    ?>
    <h2>문자열</h2>
    <?php
        echo "hello"."world<br/>"; // 문자열은 . 으로 연결한다.
        $int1 = 1000;
        $float1 = 31.1133;
        var_dump($float1); // 함수의 타입과 값을 알려줌 float(31.1133)
        $str1 = "green<br/>";
        echo '<br/>'.$int1.'<br/>'; // 1000
        echo $float1.'<br/>'; //31.1133
        echo $str1; // green
    ?>

타입변환
PHP에서 변수를 선언할때에는 $기호를 사용하며 타입을 명시할 필요가 없다.
대입되는 값이나 참조되는 위치에 따라 타입이 자동으로 변경된다.

변수는 어디에서나 선언할 수 있다. 변수의 종류로는

  1. 지역변수
    - 함수 내부에서 선언된 변수는 오직 함수 내부에서만 접근할 수 있다.
    또한, 함수 내부에서 선언된 변수는 함수의 호출이 종료되면 메모리에서 사라진다.
  2. 전역변수
    함수 밖에서 선언된 변수는 함수 밖에서만 바로 접근할 수 있다.
    함수 밖에서 선언된 변수를 함수 내부에서 사용하고자 할때는 global 키워드로 사용할 수 잇다.
    $GLOBALS['변수이름']
  3. 정적변수
    정적변수란 함수 내부에서 static 키워드로 선언한 변수를 의미한다.
    함수내부에서 호출된 변수는 호출이 종료되면 메모리상에서 사라지지만 정적변수는 사라지지 않는다.
    <!-- 변수는 지역변수 전역변수 정적변수 -->
    <?php
        $num = 50;
        function varFunc() {
            //지역변수
            $localvar = 10;
            // 함수내에서 사용할 전역변수를 명시
            // 전역변수 num에 접근 global
            global $num;
            echo "함수내부에서 호출한 지역변수 localvar의 값은 {$localvar}<br/>";
            echo "함수내부에서 호출한 전역변수 num의 값은 {$num} 입니다.<br/>";
            // global 미사용시 값이 나오지 않음
        }
        varFunc();
        global $localvar;
        // 지역변수는 그 내에서만 사용가능하다.
        echo "함수 밖에서 호출한 지역번수 localvar의 값은 {$localvar} 입니다.<br/>";
        echo "함수 내부에서 호출한 전역변수 num의 값은 {$GLOBALS['num']}입니다.<br/>";
        //정적변수 static
        // 정적변수는 값이 스택에 유지되어있다.
        function count1() {
            static$count = 0;
            echo "함수 내부에서 호출한 static변수 count의 값은 {$count} 입니다.<br/>";
            $count++;
        }
        count1();  //0 1 2 3 4 순으로 올라간다.
        count1();
        count1();
        count1();
        count1();  
    ?>
    <script>
728x90
댓글