Programming/PHP
함수(array $parameter), 함수($parameter = [])
옥수수빵
2021. 2. 24. 18:58
728x90
1. function func1(array $parameter) {}
2. function func2($parameter = []) {}
함수에 매개변수 중에 저렇게 생긴 게 종종 보입니다.
1번은 해당 매개변수에 대한 설명? 힌트? 그런 것입니다.
- 값을 필수로 무조건 넣어야 하기에 기본값이라고 하긴 좀 그렇습니다. 그래서 기본값은 없다고 보시는 게 맞겠습니다.
- 언급했듯이 매개변수는 필수로 넣어야 합니다.
2번도 해당 매개변수에 대한 힌트를 주는 것입니다.
- 매개변수가 필수는 아닙니다.
- 배열인 것처럼 되어 있지만 실제로는 다른 타입의 값을 넣어도 됩니다.
- 값을 넣지 않아도 빈 배열([])이 들어갑니다. 즉 기본값은 빈 배열입니다.
넘어오는 매개변수를 체크도 하고 값을 넣지 않아도 되게 하려면 아래처럼 하시면 됩니다.
function func3(array $parameter = []) {}
참고로 $parameter = [] 이거나 $parameter = array()는 같은 의미입니다. 전자는 php 5.4 이상부터 사용 가능한 짧은 문법이고 후자는 아무 버전에서나 써도 되는 문법입니다.
반응형