PHP/Study

[PHP]Study_0328:함수

taehee94 2022. 3. 28. 16:27

함수는 기본적으로 정의, 호출로 이루어져있다.

함수를 사용하는 이유는, 한번 사용한 코드를 재사용하기 위해 함수를 사용한다.

function 함수이름(){
	코드;
}

기본적인 함수 형식이다.

호출할때에는 함수이름(); 을 써주면된다.

그렇게되면, 함수를 실행할때의 코드가 실행 될 것이다.

<?php
function writeMsg() {
  echo "Hello world!";
}

writeMsg();
?>

한가지 예시이다. writeMsg();를 통해 함수를 호출하고, 그 결과 Hello world를 출력할 수 있다.

<?php
function addNumbers(int $a, int $b) {
  return $a + $b;
}
echo addNumbers(5, "5 days"); 
?>

함수이름 뒤 괄호에 변수를 넣어서 함수를 관리할 수 있다.

이때, 함수이름 뒤 괄호에 넣는 변수를 '인자'라고 한다.

$a와 $b를 입력해주면, return을 통해 $a+$b를 저장해 줄 수 있다.

다른 언어에서처럼, 5 days는 문자열이여서 더하기가 안될 것이다 라고 생각할 수 있다.

하지만 php는 문자열과 숫자의 경계가 모호하다고 했기때문에, 5 days는 5로 인식이되어서,

10으로 출력된다.

php는 원하는 값을 얻기위해서, 더 주의깊게 코딩해주어야 한다.

 

switch-case의 default값처럼 함수의 인자에 기본값을 넣어줄 수 없을까?

<?php
function getNumbers($num=100) {
  return $num;
}
echo getNumbers(1);
echo ",";
echo getNumbers();
?>

 

인자에 =를 통해 기본값을 넣어줄 수 있다.

이경우에 입력값이 없을때, 100을 넣었을때와 같다고 말하는 것이다.

인자값에 1이 입력되는 경우에는 1로 출력되고, 없을경우에 100이 출력되는 함수이다.