Server Side Scripting Language라고 불리는 PHP는 HTML 문서 내에 PHP 코드를 삽입하여 동적인 웹 페이지를 생성하는 데 사용되는 언어입니다. PHP는 다른 서버 측 스크립트 언어와 마찬가지로 서버에서 실행되기 때문에 클라이언트에게 PHP 코드를 보여주지 않습니다.
- PHP는 HTML 문서 내에 삽입되어 사용되기 때문에 HTML 문법을 그대로 사용할 수 있습니다.
- PHP는 다양한 데이터베이스와 호환되는 데이터베이스 연동 기능을 제공합니다.
- PHP는 다양한 서버와 호환되는 서버 연동 기능을 제공합니다.
- PHP는 다른 서버 측 스크립트 언어에 비해 속도가 느립니다.
- PHP는 다른 서버 측 스크립트 언어에 비해 보안에 취약합니다.
- PHP는 다른 서버 측 스크립트 언어에 비해 확장성이 떨어집니다.
PHP 코드는 <?php
로 시작하여 ?>
로 끝납니다. PHP 코드는 HTML 문서 내에 삽입되어 사용되기 때문에 HTML 문법을 그대로 사용할 수 있습니다.
<!DOCTYPE html>
<html>
<body>
<h1>My first PHP page</h1>
<?php
echo "Hello World!";
?>
</body>
</html>
위의 코드는 <!DOCTYPE html>
부터 </html>
까지는 HTML 문법을 사용하고 있고, <?php
부터 ?>
까지는 PHP 코드를 사용하고 있습니다. PHP 코드는 echo
함수를 사용하여 출력할 수 있습니다.
PHP 코드 내에 주석을 사용할 수 있습니다. PHP의 주석은 //
또는 #
로 시작하여 줄의 끝까지 주석으로 처리할 수 있습니다. 또한 /*
로 시작하여 */
로 끝나는 여러 줄의 주석을 사용할 수 있습니다.
<?php
// 박주석
# 이주석
/*
김주석
*/
?>
PHP의 변수는 $
로 시작합니다. 변수의 이름은 문자나 밑줄로 시작해야 하며, 숫자로 시작할 수 없습니다. 변수의 이름은 대소문자를 구분합니다.
<?php
$txt = "Hello World!";
$x = 5;
$y = 10.5;
?>
위의 코드에서 $txt
는 문자열을 저장하는 변수, $x
는 정수를 저장하는 변수, $y
는 실수를 저장하는 변수입니다.
PHP는 다음과 같은 데이터 타입을 지원합니다.
- String
- Integer
- Float
- Boolean
- Array
- Object
- NULL
- Resource
PHP의 문자열은 작은따옴표('
) 또는 큰따옴표("
)로 묶어서 사용할 수 있습니다. 작은따옴표로 묶은 문자열은 그대로 출력되지만, 큰따옴표로 묶은 문자열은 변수의 값이 출력됩니다.
<?php
$txt1 = "Hello World!";
$txt2 = 'Hello World!';
echo $txt1;
echo "<br>";
echo $txt2;
?>
위의 코드에서 $txt1
은 큰따옴표로 묶인 문자열이기 때문에 변수의 값이 출력되고, $txt2
는 작은따옴표로 묶인 문자열이기 때문에 그대로 출력됩니다.
PHP의 상수는 define()
함수를 사용하여 정의할 수 있습니다. 상수는 대소문자를 구분하지 않습니다.
<?php
define("GREETING", "Welcome to W3Schools.com!");
echo GREETING;
?>
위의 코드에서 GREETING
이라는 상수를 정의하고, GREETING
상수를 출력하고 있습니다.
PHP는 다양한 연산자를 지원합니다. 산술 연산자, 비교 연산자, 논리 연산자, 문자열 연산자, 배열 연산자 등이 있습니다.
<?php
$x = 10;
$y = 6;
echo $x + $y; // 16
echo $x - $y; // 4
echo $x * $y; // 60
echo $x / $y; // 1.6666666666667
echo $x % $y; // 4
?>
위의 코드에서는 산술 연산자를 사용하여 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 연산을 수행하고 있습니다.
PHP는 if
, else
, elseif
등의 조건문을 지원합니다.
<?php
$t = date("H");
if ($t < "20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>
위의 코드에서는 현재 시간을 구하여 $t
변수에 저장하고, if
조건문을 사용하여 현재 시간이 20시보다 작으면 "Have a good day!"를 출력하고, 그렇지 않으면 "Have a good night!"를 출력하고 있습니다.
PHP는 for
, while
, do...while
, foreach
등의 반복문을 지원합니다.
<?php
for ($x = 0; $x <= 10; $x++) {
echo "The number is: $x <br>";
}
?>
위의 코드에서는 for
반복문을 사용하여 0부터 10까지의 숫자를 출력하고 있습니다.
PHP의 배열은 다양한 데이터 타입을 저장할 수 있는 데이터 구조입니다. PHP는 숫자로 된 인덱스 배열과 문자열로 된 연관 배열을 지원합니다.
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
위의 코드에서는 $cars
배열에 세 개의 자동차 브랜드를 저장하고, echo
함수를 사용하여 배열의 값을 출력하고 있습니다.
PHP는 사용자 정의 함수를 지원합니다. 함수는 function
키워드를 사용하여 정의할 수 있습니다.
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // call the function
?>
위의 코드에서는 writeMsg
라는 함수를 정의하고, writeMsg
함수를 호출하고 있습니다.
PHP는 파일을 읽고 쓰는 기능을 제공합니다. 파일을 읽기 위해서는 fopen()
, fread()
, fclose()
함수를 사용하고, 파일을 쓰기 위해서는 fopen()
, fwrite()
, fclose()
함수를 사용합니다.
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile, filesize("webdictionary.txt"));
fclose($myfile);
?>
위의 코드에서는 webdictionary.txt
파일을 읽어서 파일의 내용을 출력하고 있습니다.
PHP는 에러 처리를 위한 다양한 함수를 제공합니다. die()
, trigger_error()
, set_error_handler()
등의 함수를 사용하여 에러를 처리할 수 있습니다.
<?php
function customError($errno, $errstr) {
echo "<b>Error:</b> [$errno] $errstr";
}
set_error_handler("customError");
echo($test);
?>
위의 코드에서는 set_error_handler()
함수를 사용하여 사용자 정의 에러 핸들러를 등록하고 있습니다. 그리고 echo($test)
코드에서 에러가 발생하면 customError
함수가 호출됩니다.
PHP는 문자열 연결을 위해 .
연산자를 사용합니다.
<?php
$txt1 = "Hello";
$txt2 = " world!";
echo $txt1 . $txt2; // Hello world!
?>