1) PHP 기본 문법, echo( ) 함수
- HTML 문서 내에 <?php로 시작하고 ?> 로 끝난다.
<?php
?>
- HTML에 문자열을 출력하기 위해 echo( ) 함수를 사용한다.
<?php
echo("<p>안녕하세요!</p>");
echo "<p>php는 영역을 자유롭게 사용할 수 있다.</p>";
?>
2) PHP 특징
- PHP문법을 사용하면 확장명을 .php로 저장한다.
- C언어, Java 처럼 PHP 명령문의 끝은 세미콜론( ; )으로 끝난다.
- 주석문은 /* */ , 한줄 주석은 //를 사용한다.
3) PHP 변수 선언과 초기화
//변수 선언
$변수명;
//변수 초기화
$변수명 = 값;
<?php
$userid = "apple";
$name = "김사과";
$age = 20;
$job = "학생";
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수-1</title>
</head>
<body>
<h2>변수-1</h2>
<?php
echo("<h3>".$userid."님 안녕하세요!</h3>");
?>
<p>이름 : <?=$name?></p>
<?php
echo "<p>{$name}님의 나이는 {$age}살이며, 직업은 ${job}입니다.</p>";
?>
</body>
</html>
▼실행결과▼
4) PHP 변수 종류(지역변수, 전역변수, 정적변수, 슈퍼글로벌변수)
1. 지역변수
- 함수 내부에서 선언된 변수를 말한다.
- 내부에서 선언된 변수는 함수가 종료되면 메모리에서 삭제된다.
{
$num = 10; //지역변수
}
echo($num); //함수 외부에서는 에러 발생
2. 전역변수
- 함수 외부에서 선언된 변수를 말한다.
- 함수 밖에서만 사용할 수 있다.
- 함수 내부에서 사용하려면 global이라는 키워드를 함께 사용하면 된다.
$num = 10;
{
global $num;
echo($num);
}
지역변수, 전역변수 비교 예제
<?php
$num = 10; //전역변수
function func1(){
$str = "PHP";
echo "<p>함수 안에서 호출한 지역변수 str의 값 : {$str}</p>";
global $num; //global을 써줘야 전역변수 사용 가능
echo "<p>함수 안에서 호출한 전역변수 num의 값 : {$num}</p>";
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수-2</title>
</head>
<body>
<h2>변수-2</h2>
<?php
func1();
echo "<p>함수 밖에서 호출한 전역변수 num의 값 : {$num}</p>";
?>
</body>
</html>
▼실행결과▼
3. 정적변수
- 함수 내부에서 static 키워드로 선언된 변수를 말한다.
- 함수 호출이 종료되어도 메모리상에서 삭제되지 않는다.
- 따라서 공용변수로 사용한다.
<?php
function counter(){
static $cnt = 1;
//$cnt = 1;
echo "<p>변수 cnt값 : {$cnt}</p>";
$cnt++;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h2>변수 - 3</h2>
<?php
counter();
counter();
counter();
?>
</body>
</html>
▼정적변수 실행결과▼
<?php
function counter(){
//static $cnt = 1; => 정적변수를 주석처리한 후
$cnt = 1; // 지역변수로 선언했을 때
echo "<p>변수 cnt값 : {$cnt}</p>";
$cnt++;
}
?>
▼지역변수 실행결과▼
차이점 : 지역변수는 함수가 종료될 때마다 메모리에서 삭제되지만,
정적변수는 함수 호출이 종료되어도 메모리상에서 삭제되지 않는다.
4. 슈퍼글로벌변수
- 미리 정의된 전역변수를 말한다.
- 특별한 선언없이 스크립트 내의 어디에서도 바로 사용할 수 있다.
- $_GET, $_POST, $_COOKIE, $_SESSION, ... 등이 있다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>변수 - 4</title>
</head>
<body>
<h2> 변수 - 4 </h2>
<form action="5-varible4P.php" method="get">
<p><input type="search" name="q"> <input type="submit" value="검색"></p>
</form>
</body>
</html>
▼form action으로 보낸 5-varible4P.php 파일 코드▼
-- $_GET 슈퍼글로벌변수 사용 --
<?php
$query = $_GET["q"];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h2>검색</h2>
<p>검색어로 입력한 단어는 '<?=$query?>' 입니다.</p>
</body>
</html>
▼실행결과▼
GET방식은 URL에 데이터가 날아간다.
'Front-End > PHP' 카테고리의 다른 글
[PHP] 쿠키(Cookie), 세션(Session) (0) | 2021.07.17 |
---|---|
[PHP] 함수(function) 알아보기 (0) | 2021.07.17 |
[PHP] 제어문(조건문, 반복문), 배열 알아보기 (0) | 2021.07.17 |
[PHP] 데이터 전송방식 (method-get,post) (0) | 2021.07.17 |
[PHP] PHP 개요, APACHE 설치하기, PHP 다운로드 (0) | 2021.07.03 |