본문 바로가기

카테고리 없음

PHP) 함수 선언하기, 정의하기

PHP에서의 함수를 정의하는 방법은 javascript와 유사하다.

여태껏 C언어와 비슷했다면, 이제는 javascript의 방법을 차용한 것이다.




간단한 예제를 통해 함수를 선언하는 방법을 알아보자.


1
2
3
4
5
6
7
8
9
10
<?php
 
func();
 
function func()
{
    echo '함수 실행중...<br>';
}
 
?>
cs


5행이 함수를 선언하는 부분이다.


function이라는 키워드를 앞에 붙이면 함수 선언이 완성된다.


그 밑에는 중괄호로 내용을 덧붙이고, 3행처럼 함수를 가져와주기만 하면 끝난다.


그래서 출력값은


함수 실행중...


이 된다.




이제 return값과 함께 함수를 이용해보자.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
// BMI 계산기
 
echo func(100150);
 
function func($weight$height)
{
    $bmi = ($weight / pow($height2)) * 10000;
    
    return $bmi;
}
 
?>
cs


return값을 이용하여 함수의 최종값을 반환했다.


예제는 bmi 공식을 통해서 과체중인지 비만인지의 여부를 알아내는건데


return값이 있으면 함수 자체가 그 값이 되어버리기 때문에 echo문에 함수 자체를 출력했다.


코드를 보면 첫번째 인수가 weight, 두번째 인수가 weight가 되는데, 이 두 변수만 넣으면 바로 bmi가 출력되는 형식의 코드다.



예제 안에는 키 150, 몸무게 100을 넣었으므로


$bmi = ($weight / pow($height2)) * 10000;


pow함수는 변수의 제곱값을 나타낸다. $height변수의 2제곱값을 계산하였다.



를 거쳐 bmi공식으로 계산하여 결과는 44가 나온다.


이는 고도비만중에서도 심각한 수준으로


밥을 어지간히 먹어야 할 수치다.



아무튼 이런 과정을 통해 5행에서


echo func(100150);


를 출력하는데, func()함수에 return값이 있으므로 실질적인 코드는


echo 44;


가 되는것이다.







함수의 인수 안에서 미리 값을 적용시켜버리는 방법도 존재한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
// BMI 계산기
 
echo func(150);
 
function func($height$weight = 100)
{
    $bmi = ($weight / pow($height2)) * 10000;
    
    return $bmi;
}
 
?>
cs


위의 예제에서 몸무게값만 기본 인수값을 지정한 코드이다. (7행)


이렇게 하면 고정적인 인수를 넣은 함수도 만들 수 있다.





- 여기서 주의할 점은, 기본 인수값이 들어있는 인수가 첫번째로 배치되면 함수가 작동하지 않는다. 아예 코드자체에 오류가 생긴다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
// BMI 계산기
 
echo func(150);
 
function func($weight = 100$height)
{
    $bmi = ($weight / pow($height2)) * 10000;
    
    return $bmi;
}
 
?>
cs


7행처럼 인수를 배치해버릴 경우, 5행에 있는 func(150)이 제대로 작동하지 않게된다.


150이란 값은 첫번째 인수인 $weight에 들어가게 되고, $height값은 주어지지않아 오류가 나게 되는것이다.