[PHP] 함수 만들기, 호출하기, 값 반환하기 보러 가기
아규먼트(argument)란?
함수를 호출할 때 함수에 전달하는 값의 명칭.
round($num, 1) 라는 코드에서, $num과 1이 아규먼트가 된다.
쉽게 말해 값을 넘기는, 즉 함수를 호출하는 입장 에서 괄호 안에 들어가는 것들이다.
파라미터(parameter)란?
전달된 값을 받는 부분.
함수의 입장 에서 괄호로 전달받는 것들이라고 생각하면 쉽다.
<?php
function sum($num1, $num2) {
$sum = $num1 + $num2;
echo $sum;
}
sum(1,3);
?>
코드 내용을 살펴보자.
$num1과 $num2를 파라미터로 받는 함수 sum을 선언했다.
전달 받은 파라미터 num1과 num2를 더하여 sum이라는 변수에 대입하고, sum을 출력하는 함수이다.
7번 줄에서 sum 함수를 호출했고, 아규먼트 1과 3을 전달했다.
아규먼트 1은 sum 함수에서 num1에 전달되고, 아규먼트 3은 num2에 전달된다.
Result
4
파라미터의 기본값 설정하기
함수가 호출될 때 그 함수 내에서 선언된 파라미터 값을 제대로 받지 못하면 에러가 생기게 된다.
이를 방지하고자 파라미터의 기본값을 설정해주려고 한다.
<?php
function sum($param1 = 10, $param2 = 40) {
$sum = $param1 + $param2;
return $sum;
}
echo "sum(5,10) = ".sum(5,10);
echo "<br>sum(5) = ".sum(5);
echo "<br>sum() = ".sum();
?>
함수에서는 첫 번째 파라미터의 디폴트 값을 10으로, 두 번째 파라미터의 디폴트 값을 40으로 정했다.
첫 번째 에코는 sum 함수에 아규먼트 5와 10을 전달한 결과를 출력한다.
두 번째 에코는 sum 함수에 아규먼트 5만 전달한 결과를 출력한다.
마지막 에코는 sum 함수에 아규먼트로 아무것도 전달하지 않았다.
Result
sum(5,10) = 15
sum(5) = 45
sum() = 50
첫 번째 에코는 아규먼트로 전달한 5와 10의 합인 15가 출력되었고,
두 번째 에코에서는 5의 값만 전달되어서 두 번째 파라미터의 디폴트 값인 40과 합쳐진 45가 출력되었다.
마지막으로 아무것도 전달받지 못한 함수는 파라미터 두 개의 기본값 10과 40의 합인 50을 출력한다.
'Backend > php' 카테고리의 다른 글
[PHP] 정규표현식 preg_match() (1) - 한글 검사 패턴 (0) | 2020.03.12 |
---|---|
[PHP] 모듈화 함수 - include()와 require() (0) | 2020.03.12 |
[PHP] 함수 만들기, 호출하기, 값 반환하기 (0) | 2020.03.10 |
[PHP] 시간 함수 (2) - getdate(), checkdate(), microtime() (0) | 2020.03.07 |
[PHP] 시간 함수 (1) - time(), date(), mktime() (0) | 2020.03.07 |