PHP 함수, 지역변수, 정적변수, 전역변수

PHP 기본 문법에서 함수, 지역변수, 정적변수, 전역변수를 확인해본다.

함수

1
2
3
4
function 함수이름(매개변수1, 매개변수2) {
…할일…
}
함수이름();
1
2
3
4
5
6
7
8
9
10
<?php
function sum($x, $y) {
$result = $x + $y; // local variable 지역변수
return $result;
}

$result = sum (10, 20); // grobal variable 전역변수
// 전역변수 주석하게 되면 에러가 난다
echo $result; // 30
?>

배열

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$fruits = [
'apple', 'mango', 'banana', 'orange'
];

print_r($fruits);
// Array ([0] => apple [1]=>mango [2]=> banana [3]=>orange)
// php 내장함수
// 변수값의 정보를 출력해준다

function output($value) {
echo '<pre>';
print_r($value);
echo '</pre>';
};

output($fruits);
// Array
// (
// [0] => apple
// [1]=>mango
// [2]=> banana
// [3]=>orange
// )
?>

지역변수와 전역변수

지역변수

지역변수는 함수 외부에서 출력되지 않는다.

1
2
3
4
5
6
7
8
9
<?php
function myfunc() {
$var = 10; // 지역변수
echo "{$var}";
}

myfunc();
echo "{$var}"; // 에러발생
?>

전역변수

1
2
3
4
5
6
7
8
9
<?php
$var = 10; // 전역 변수
function myfunc() {
global $var; // 전역변수
echo "{$var}";
}

myfunc(); // 10
?>
1
2
3
4
5
6
7
8
<?php
$var = 10; // 전역 변수
function myfunc() {
echo "{$GLOBALS['var']}";
}

myfunc(); // 10
?>

정적변수

함수 내부에서 정적 변수를 출력하면 함수 호출이 종료되어도 메모리에 저장되어 출력이 가능하다.

1
2
3
4
5
6
7
8
9
10
11
<?php
function increment() {
static $count = 0; //정적 변수
echo "{$count}";
$count++;
}

increment(); // 0
increment(); // 1
increment(); // 2
?>

REFERENCE
https://www.youtube.com/watch?v=qvainHwkc38&list=PL-qMANrofLytZY15Agdi7wFc1seGO7Onb&index=4

  • © 2020-2025 404 Not Found
  • Powered by Hexo Theme Ayer