PHP 웹 페이지 만들기
[PHP] 정적 변수, 지역 변수
조밈밍
2022. 10. 19. 09:59
<!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>
<h1>function</h1>
<pre>
복잡한 일의 반복을 피하기 위해 함수 사용
function 함수이름(매개변수1, 매개변수2){
...실행문...
}
함수이름();
</pre>
<?php
function sum($x, $y){
$result = $x + $y; // 지역변수 local variable
return $result;
}
$result = sum(10,20); // 전역변수 gloval variable
echo $result;
?>
<h2>배열 값 출력하기</h2>
<?php
$fruits = [
'apple',
'mango',
'banana',
'orange'
];
// echo '<pre>';
// print_r($fruits);
// echo '</pre>';
function output($value){
echo '<pre>';
print_r($value);
echo '</pre>';
}
output($fruits);
?>
<h2>지역변수 vs 전역변수</h2>
<?php
function myfunc(){
$var = 10; // 지역변수로써, 함수 외부에서 출력X
echo "{$var}";
}
myfunc();
?>
<hr>
<?php
$var2 = 20;
function myfunc2(){
// echo $var2; 에러
global $var2; // 전역변수로 바뀜
echo "{$var2}<br>";
echo "{$GLOBALS['var2']}"; // 전역변수는 GLOBALS 배열안에 저장됨
// 변수명이 인덱스 역할을 한다
}
myfunc2();
?>
<h2>정적 변수</h2>
<!-- 함수가 종료 되면 지역변수는 사라진다
정적 변수는 함수가 종료되더라도 메모리상에서 사라지지 않는다 -->
<?php
function increment(){
static $count = 0; // 정적 변수
// $count = 0; <- 지역 변수, 함수 종료시 사라짐, 함수 여러번 실행해도 값 모두 0
echo "{$count}<br>";
$count++;
}
increment();
increment();
increment();
?>
</body>
</html>