개발공부/PHP
PHP call by reference
bzerome240
2024. 3. 2. 00:02
함수 호출 시 매개변수를 참조(reference)로 전달하는 것
해당 매개변수의 원래 값이 아니라 해당 값이 저장된 메모리 주소를 함수로 전달하는 것을 의미합니다.
개발을 하다가 문득 궁금하여 챗지피티 형님에게 물어봐습니다.
ChatGPT - php에서 call by reference 가 메모리에 도움이될까?
특정 상황에서 메모리와 성능 측면에서 이점을 제공할 수 있으나, 코드 가독성과 유지보수의 어려움, 예측 불가능한 부작용 등을 고려해야 합니다.
함수 호출 방식은 사용하는 코드의 목적과 구조에 따라 선택되어야 하며, 모든 상황에서 적합한 것은 아닐 수 있습니다.
Parameters | Call by value | Call by reference |
Definition | 변수를 복사하여 값을 전달하는 것 | 변수의 주소를 전달하는 것 |
Arguments | 변수 복사본이 전달된다. | 변수 자체가 전달된다. |
Effect | 함수 외부의 변수값 수정이 불가하다. | 함수 외부의 변수값 수정이 가능하다. |
Memory Location | 다른 메모리 위치에 생성된다 | 동일한 메모리 위치에 생성된다 |
Safety | 안전하다. | 안전하지 못하다. |
Defulat | C++.PHP. Visual Basic NET, C#. | JAVA (기본값은 아니다) |
function increment($num) {
$num = $num + 1;
echo $num."\\n";
}
call by reference 는 & 를 붙인다.
function increment(&$num) {
$num = $num + 1;
echo $num."\\n";
}
728x90
반응형