참조를 사용하는 이유는 예를 들어 함수에 전달 된 값을 수정하기 위해서입니다.
$nameOfUser = "Mr. Jones";
function changeName(&$name) { // Passing the value by reference
$name = "Foo";
return $name;
}
changeName($nameOfUser);
/**
* The echo below will output "Foo" since the changeName() function
* changed the value of the variable we passed in by reference
*/
echo $nameOfUser;
내 예제했다 희망 : 나는 이런 식으로 할 것 참고로 위의 두 번째 예에서와 동일한 결과를 얻으려면
다음은 이제 예를 들어
$nameOfUser = "Mr. Jones";
function changeName($name) { // Not passing the value by reference
$name = "Foo";
return $name;
}
changeName($nameOfUser);
/**
* The echo below will output "Mr. Jones" since the changeName() function
* doesn't really change the value of the variable we pass in, since we aren't
* passing in a variable by reference. We are only passing in the value of the
* $nameOfUser variable, which in this case is "Mr. Jones".
*/
echo $nameOfUser;
$nameOfUser = changeName($nameOfUser);
/**
* This echo below will however output "Foo" since we assigned the returning
* value of the changeName() function to the variable $nameOfUser
*/
echo $nameOfUser;
입니다 이해할 수 있으며 참조 자료가 어떻게 작동하는지 더 잘 이해할 수 있습니다.
필자는 개인적으로 값을 반환하고 그 방식으로 설정하는 것이 더 바람직하다고 생각하기 때문에 참조가 필요할 때의 예가 없습니다. 함수에 전달 된 변수를 수정하면 함수를 사용하는 사용자가 혼란 스러울 수 있습니다.
- 참조를 사용하면 어떤 이점이 있습니까? –
글쎄, 유일한 이점은 PHP가 첫 번째 포인터를 사용하기 때문에 다른 변수를 생성 할 필요가 없다는 것입니다. 그러나 나는 당신이 성능상의 차이를 느끼지 않을 것이라고 생각합니다. 난 당신이 참조를 사용하는 경우 코드를 이해하기 어렵게 만한다고 생각합니다. – Marwzoor
그러면 프로그래머를 혼란스럽게하는 경우 PHP에 참조를 포함시키는 이유는 무엇입니까? –