Web
Php 분류

PHP 문법

작성자 정보

  • console 작성
  • 작성일

컨텐츠 정보

본문

PHP 코드 영역

PHP 코드는 웹 페이지의 어느 부분에나 위치할 수 있습니다.

따라서 PHP 파서가 PHP 코드를 인식하기 위해서는 그 시작과 끝을 알려줄 필요가 있습니다.

 

PHP 코드 영역을 알려주는 방식에는 다음과 같이 여러 가지 스타일을 사용할 수 있습니다.

문법

1. PHP 권장 스타일      : <?php ... ?>

2. HTML 스크립트 스타일 : <script language = "php"> ... </script>

3. SGML 스타일          : <? ... ?>

4. ASP 스타일           : <% ... %>

 

PHP 권장 스타일과 HTML 스크립트 스타일은 그 어떤 상황에서도 정확히 인식될 것입니다.

하지만 SGML 스타일과 ASP 스타일은 php.ini 설정 파일의 특정 태그를 활성화했을 경우에만 정확히 인식될 것입니다.

따라서 서버별 이식성 문제 등을 피하기 위해서라도 PHP 권장 스타일을 사용하는 것이 좋습니다.

 

예제

<?php

    echo "PHP 수업에 잘 오셨습니다!";

?>

코딩연습 ▶


PHP 문법

C언어처럼 PHP 명령문도 마지막은 세미콜론(;)으로 끝납니다.

예제

<?php

    echo "PHP 수업에 잘 오셨습니다!";

?>

 

PHP 코드가 종료되면 자동으로 세미콜론을 적용해주므로, 아래의 예제도 정상적으로 동작합니다.

예제

<?php

    echo "PHP 수업에 잘 오셨습니다!"

?>

 

또한, PHP 코드 영역을 나타내는 종료 태그도 생략할 수 있습니다.

예제

<?php

    echo "PHP 수업에 잘 오셨습니다!";

 

위의 모든 예제는 정상적으로 동작하겠지만, 가독성이나 예상치 못한 상황을 위해 세미콜론(;)과 종료 태그를 모두 사용하는 것이 좋습니다.

PHP 주석

주석(comment)이란 코드 내에 삽입된 일종의 설명문입니다.

주석은 작성자나 다른 개발자가 나중에 코드를 수정할 때 참고할 수 있으며, 웹 페이지 개발 시 디버깅에도 활용됩니다.

이러한 주석은 PHP 코드의 어느 부분에라도 작성할 수 있으며, 웹 브라우저의 동작에는 전혀 영향을 미치지 않습니다.

 

PHP 주석은 다음과 같이 여러 가지 스타일을 사용할 수 있습니다.

문법

1. 한 줄 C언어 스타일   : //주석문

2. 여러 줄 C언어 스타일 : /*주석문*/

3. 한 줄 쉘 스타일      : #주석문

 

PHP 주석은 줄의 끝이나 PHP 코드 영역을 나타내는 종료 태그 중 먼저 나오는 부분까지만 주석으로 처리합니다.

따라서 PHP 코드 영역을 나타내는 종료 태그 이후에 나오는 HTML 코드는 주석이 아닌 정상적인 코드로 인식됩니다.

예제

<?php

    // C언어 스타일의 한 줄 주석

    /*

        C언어 스타일의 여러 줄 주석

    */

    # 쉘 스타일의 한 줄 주석

?>

<p>PHP 주석에 대한 예제입니다.

    <?php /* echo "PHP 수업에 잘 오셨습니다! " */ ?>

화이팅!</p>

코딩연습 ▶

 

위의 예제에서 PHP 주석은 '?>'인 종료 태그의 직전까지만 적용되며, 그 뒤에 나오는 화이팅!이라는 문자열과 </p> 태그는 정상적으로 인식됩니다.

 

다음 예제는 PHP에서 여러 줄 주석 안에 또 다른 주석을 삽입하는 예제입니다.

예제

/* 여러 줄

    // 이렇게 두 줄 주석 안에 또 다른 한 줄 주석을 삽입할 수 있습니다.

    # 이렇게 두 줄 주석 안에 또 다른 한 줄 주석을 삽입할 수 있습니다.

주석입니다. */

 

위의 예제처럼 PHP에서는 여러 줄 주석 내부에 또 다른 한 줄 주석을 삽입할 수 있습니다.

 

하지만 다음 예제처럼 여러 줄 주석 내부에 또 다른 여러 줄 주석을 삽입할 수는 없습니다.

예제

 /* 여러 줄

     /* 또 다른 여러 줄 주석입니다. */

 주석입니다. */

 

위의 예제처럼 여러 줄 주석 안에 또 다른 여러 줄 주석을 삽입하게 되면, 삽입한 주석의 종료를 알려주는 ②번 라인의 기호(*/)를 바깥쪽 주석이 자신의 종료를 알려주는 ③번 라인의 기호(*/)로 잘못 인식하게 됩니다.

따라서 위의 예제에서 ③번 라인은 주석으로 정상 인식되지 않으며, PHP 파서가 오류를 발생시킵니다.

 

그러므로 PHP에서 여러 줄 주석(/* */)은 절대로 중첩하여 사용해서는 안 됩니다.


echo() 함수

echo() 함수 C언어의 printf() 함수나 C++의 cout 객체와 같이 HTML 스트림에 문자열을 출력해 줍니다.

 

이러한 echo() 함수는 실제 함수가 아니므로, 인수를 전달할 때 괄호(())를 사용해도 되고 생략할 수도 있습니다.

또한, 가변 길이 인수와 같이 함수 문맥으로도 사용할 수 없습니다.

하지만 두 개 이상의 인수를 전달할 때는 반드시 괄호를 사용해서는 안됩니다.

 

PHP는 키워드, 클래스, 함수, 사용자 함수 이름의 대소문자를 구분하지 않습니다.

따라서 ECHO나 Echo를 사용해도 모두 같은 동작을 합니다.

 

예제

<?php

    echo "문자열을 출력합니다.<br>";

    echo ("인수를 전달할 때 괄호를 사용해도 괜찮습니다!<br>");

    ECHO "echo() 함수의 키워드는 대소문자를 구분하지 않습니다!<br>";

    echo "첫 번째 인수, ""두 번째 인수";

    //echo("첫 번째 인수, ", "두 번째 인수"); // 오류 발생

?>

코딩연습 ▶

 

위의 예제에서 사용된 <br>태그(break line)는 새로운 단락을 만들지 않고 줄을 나눠주는 HTML 태그입니다.
PHP에서 echo(), print(), isset() 등과 같이 실제 함수가 아닌 구문을 언어 구조(language construct)라고 표현하지만, 우리 수업에서는 여러분이 헷갈리지 않도록 함수라고 부를 것입니다.


관련자료

댓글 0
등록된 댓글이 없습니다.
전체 40 / 1 페이지
RSS
  • 웹개발에 자주 쓰는 자바스크립트 라이브러리들 - 슬라이드/갤러리 (Carousel)
    등록자 tjslli
    등록일 05.08 조회 1709

    Html 슬라이드/갤러리 (Carousel) 01. 가장 유명한 Slick - https://kenwheeler.github.io/slick/ 설치 &l…

  • [CSS]css 가상 선택자 정리 및 비교 (nth-child, nth-of-type)
    등록자 CSS러버
    등록일 05.08 조회 1624

    Html :nth-child(N)= 부모안에 모든 요소 중 N번째 요소 A:nth-of-type(N)= 부모안에 A라는 요소 중 N번째 요소 :first…

  • 스크롤 이벤트 감지 + jquery + css
    등록자 webveloper
    등록일 04.15 조회 1735

    Html 1. css .caritem{display:flex;align-items:end;flex-direction:column;background:#0…

  • slick slider 커스텀으로 꾸미기 + jquery 이벤트 감지 + 커스텀 슬라이드 번호
    등록자 webveloper
    등록일 04.15 조회 1774

    Html 1. import <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.n…

  • 호버(hover) 할 때 jquery 이벤트 감지 방법
    등록자 webveloper
    등록일 04.15 조회 1785

    Html 안녕하세요. html 코딩 시 hover 할때 감지하는 이벤트 스크립트입니다. <style> .con-group { display: …

  • 그누보드 썸네일 이미지 화질 개선 방법
    등록자 PixelProphet
    등록일 01.10 조회 2733

    Php 그누보드에서 이미지를 올릴때, 간혹 이미지 화질이 떨어져 보이는 현상이 있습니다.... 이럴 때 제가 찾아본 방법 중에 가장 쉽게 해결 할 수 …

  • React 유튜브 채널 추천
    등록자 코드워리어
    등록일 01.09 조회 2200

    React React는 웹 개발에서 매우 인기 있는 라이브러리로, 학습을 위해 다양한 자료들이 필요합니다. React를 학습하고 싶은 분들을 위한 유튜버 …

  • PHP 배열의 기초
    등록자 console
    등록일 01.05 조회 2527

    Php 배열(array)이란? PHP에서 배열(array)은 맵(map)으로 이루어진, 순서가 있는 집합을 의미합니다. 맵(map)은한 쌍의 키(key…

  • PHP 기타 제어문
    등록자 console
    등록일 01.05 조회 2558

    Php 루프의 제어 일반적으로 조건식의 검사를 통해 루프로 진입하면,다음 조건식을검사하기 전까지 루프 안에 있는 모든 명령문을 실행합니다. 사용자는 c…

  • PHP 반복문
    등록자 console
    등록일 01.05 조회 2531

    Php 반복문 반복문이란 프로그램 내에서 같은 명령을 일정 횟수만큼 반복하여수행하는명령문입니다. 프로그램이 처리하는 대부분의코드는 반복적인 형태가 많으…

  • PHP 조건문
    등록자 console
    등록일 01.05 조회 2379

    Php PHP 표현식 표현식(expressions)은 PHP에서 가장 중요한 구성요소입니다. 표현식이란 모든 것이 값을 갖는다는 의미이며, PHP에서 …

  • PHP 기타 연산자
    등록자 console
    등록일 01.05 조회 2347

    Php 삼항 연산자(ternaryoperator) 삼항 연산자는 유일하게 피연산자를 세 개나 가지는 조건 연산자입니다. 삼항 연산자의 문법은 다음과 같…

  • PHP 비트 연산자
    등록자 console
    등록일 01.05 조회 2554

    Php 비트 연산자(bitwise operator) 비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행합니다. 또한, 비트…

  • PHP 논리 연산자
    등록자 console
    등록일 01.05 조회 2612

    Php 논리 연산자(logical operator) 논리 연산자는 논리식을 판단하여, 참(true)과 거짓(false)을 반환합니다. and, or, …

  • PHP 비교 연산자
    등록자 console
    등록일 01.05 조회 2632

    Php 비교 연산자(comparisonoperator) 비교 연산자는피연산자사이의 상대적인 크기를 판단하여,참(true)과 거짓(false)을 반환합니…