이번에는 PHP에서의 함수의 기본적인 활용을 알아보겠습니다.

 

함수의 기본적인 형태부터 보자하면.

 

function 함수의이름 () {

문장1;                

문장2;                

}                           

 

function 함수의 이름 (변수1, 변수2) {

문장1;                                 

문장2;                                 

}                                            

 

이런 형태의 모습을 많이 보실겁니다. 첫번째는 매개변수가 없이 정의된 형태이고,

두번째는 매개변수가 있는 형태 입니다. (변수를 2개 써놓은 것은 그냥 쓴겁니다.)

 

그리고 이렇게 정의된 함수를 호출하고자 할때는..

 

$a = 5;                              

$b = 7;                              

add();                               

 

function add () {                  

global $a, $b;           

$z = $a + $b;           

echo " 답 = $z <br>";

}                                  

 

같이 호출 할수 있습니다. 여기서 a와 b는 함수 밖에서 선언이 된 전역변수 입니다.

php는 전역변수를 함수 안에서 사용할려면 별도의 선언이 필요한데 그것이 'global'입니다.

선언을 하면 나는 전역변수를 내 지역에서 사용하겠다. 라는 말을 하는 겁니다.

 

 

name("이름");              

 

function name ($name) {

echo " $name <br> ";

}                              

 

위의 선언은 함수를 정의하고 매개변수를 받아 함수를 호출 받는 예 입니다.

호출이 함수의 앞에 있든 뒤에 있든 php에서는 상관없이 함수가 매개변수를 받아서 호출합니다.

 

function sub (int $x, int $y) : int {

$z = $x - $y;                  

$z = "user id";                

return $z;                     

     }                                             

 

이 함수에서 가장 눈에 띄는 부분은 매개변수 뒤쪽에 : int 선언 일겁니다.

이 것은 함수에서의 값이 어떤 데이터형으로 리턴되느냐를 말하고 있는겁니다.

함수 내부에서 호출된 곳으로 값을 반환하기위해 return을 선언하고있죠?

 

마지막으로 함수는 아니지만 중요한 한가지 선언이 있습니다.

바로 'declare(strict_types=1);' 입니다. 이 명령어는 php의 맨앞인 <?php 의 뒤에 나와야 합니다.

같은 줄이 아니라 엔터를 한번 쳐주시고 적어주시면 깔끔하고 좋습니다.

 

이 건 함수가 매개변수 a와 b가 값을 받아 더하는 건데, a = 5, b = "5days" 와 같이 다른 타입을 받을때가 있습니다.

 declare를 선언하지 않았다면 값은 어떻게 될까요? 바로 10이 됩니다.

5days를 정수형 5로 받아 버려 php가 마음대로 계산을 진행합니다.

 

하지만 declare를 선언 해주면 a는 정수형, b는 문자형이라는 것을 php에서 체크해서 잘못된 입력에대해서

강력히 제재 합니다. 그럼 저것을 잘못 입력 받거나 했을때 프로그래머가 확실히 눈치 챌수있게 해줍니다.

짧은 문장에서는 모르지만 긴 문장에서는 어디가 틀렸는지 확실히 알 수 있게 해주죠.

 

이상으로 PHP 함수에 대해서 공부했습니다. 읽어주셔서 감사합니다.

'공부 > PHP' 카테고리의 다른 글

HTML (Input type)  (0) 2019.04.26
HTML (기초적인 폼!)  (0) 2019.04.17
PHP코딩 기초 (반복문) - 4  (0) 2019.04.02
PHP 코딩 기초 (기본문법) - 3  (0) 2019.03.23
PHP 코딩 기초 - 1 (hello php!)  (0) 2019.03.19

+ Recent posts