참조에 의한 PHP 호출

WBOY
풀어 주다: 2024-08-29 12:47:50
원래의
990명이 탐색했습니다.

참조에 의한 호출은 변수의 참조를 함수 매개변수로 전달하는 것입니다. PHP는 포인터 종류의 메커니즘을 직접 지원하지 않기 때문에 다양한 작업을 처리하기 위한 참조를 지원합니다. PHP 언어에서는 함수 내부의 값이 수정되면 해당 보유 변수의 실제 값이 수정됩니다. 이는 가치에 의한 호출에서는 달성될 수 없습니다. call be reference에서 변수를 참조로 전달하는 동안 앰퍼샌드(&) 기호를 접두어로 사용할 수 있습니다. & 기호 자체는 변수가 참조로 사용되고 있음을 나타냅니다. 참조 함수는 다른 함수에 매개변수로 전달될 수도 있습니다. 이번 주제에서는 PHP Call by Reference에 대해 알아보겠습니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문

이를 사용하기 위한 특별한 구문은 없지만, 그렇습니다. 매개변수를 함수에 전달할 때 & 기호를 사용해야 합니다.

함수 선언은 다음과 같습니다.

function callByref(&$var)
{
$var.= 'inside the Call By Reference function.';
}
로그인 후 복사

이 함수를 호출하는 동안 특별한 작업이 필요하지 않습니다. 일반 함수(값별 호출)처럼 사용할 수도 있습니다.

$var = 'Yes, I am';
callByref ($var);
로그인 후 복사

PHP에서 참조에 의한 호출은 어떻게 작동하나요?

참조 호출 작업을 진행하기 전에 기능에 적합할 수 있도록 요구 사항이 있어야 합니다. 그런 다음 지정된 함수 선언에서 매개변수 변수에 대한 참조 기호를 사용할 수 있습니다. 간단한 예를 통해 동일하게 이해해 봅시다.

function callByref(&$var)
{
$var.= 'Call By Reference function.';
}
$var = 'Try to check the reference, I am inside the ';
로그인 후 복사

여기서 $var를 인쇄하려고 하면 위의 메시지가 표시됩니다

echo $var;
// printing variable before calling function
로그인 후 복사

지금 함수를 호출하면 이 함수를 호출하면 변수의 실제 값이 수정됩니다

함수 내부에 작성된 $var입니다.

callByref ($var);
echo $var;
// this will be print the combined value of the string.
로그인 후 복사

아래에 언급된 PHP 언어에서 참조 호출로 사용할 수 있습니다.

  • 변수 – 일반 변수.
  • 참조를 반환하는 함수 – 참조를 반환하는 잘 정의된 함수는 참조별 호출에서 함수 매개 변수로 전달될 수도 있습니다(예 E3 참조).

참고전화 예시

아래에는 다양한 예가 나와 있습니다.

예시 #1

참조 호출을 사용하여 이 함수의 특성을 확인하는 간단한 프로그램입니다. 여기서는 참조 호출을 이용하고 함수 내부에서 변수를 수정한 후 실제 값이 수정되는 것을 확인할 수 있습니다.

코드:

<?php
function callByref(&$var)
{
$var.= ' This will be added to the function.';
}
$var = 'Value before calling the function.';
echo $var ."<br><br>"; // printing variable before callig function
callByref ($var);
echo $var;
?>
로그인 후 복사

출력:

참조에 의한 PHP 호출

예시 #2

예제 코드는 PHP에서 값별 호출과 참조별 호출을 구별하는 것입니다.

코드

<?php
// call by value function
echo "<br>Swap functionality by call be value:<br>";
function SwapCallByValue($a, $b){
$c=$a;
$a=$b;
$b=$c;
echo "";
echo "<br>Value of a and b after swap: ";
echo $a . " ".$b;
}
$a = 10;
$b = 20;
echo "Value of a and b before swap: ";
echo $a . " ".$b;
SwapCallByValue($a, $b);
// swap functionality by call be a reference
echo "<br><br>Swap functionality by call by reference:<br>";
function SwapCallByRefernce(&$a,&$b)
{
$c=$a;
$a=$b;
$b=$c;
}
$a = 10;
$b = 20;
echo "Value of a and b before swap: ";
echo $a . " ".$b;
SwapCallByRefernce($a, $b);
echo "<br>Value of a and b after swap: ";
echo $a . " ".$b;
?>
로그인 후 복사

출력:

참조에 의한 PHP 호출

위의 예에서 볼 수 있듯이 a와 b의 값을 해당 함수 외부에 인쇄하면 call-by-swap이 작동하지 않습니다. 이는 값에 의한 호출이 변수의 실제 복사본을 변경하지 않기 때문입니다. 그러나 참조에 의한 호출에서는 해당 함수를 호출한 직후에 a와 b의 값이 인쇄되고 교환이 잘 작동하는 것을 볼 수 있습니다. 이는 값에 의한 호출과 참조에 의한 호출을 사용하여 스와핑 함수를 다루는 동안의 모든 것입니다.

예시 #3

코드:

<?php
// this is the main function inside which the a funtion will be passed as a parameter
function mainFunction(&$val)
{
$val++;
echo $val;
}
// this function will be used as a parameter
function &FunctionAsAParam()
{
$val = 15;
return $val;
}
echo "A value of a after calling the function: ";
$result = mainFunction(FunctionAsAParam()); // calling function, function as a reference parameter
?>
로그인 후 복사

출력:

참조에 의한 PHP 호출

위의 예에서는 참조 함수 FunctionAsAParam()이 또 다른 함수 매개변수로 사용되는 것을 볼 수 있습니다. 내부에 작성된 코드에 따라 기본 변수의 값을 할당합니다. mainFunction() 함수는 위 코드의 주요 함수로 FunctionAsAParam()을 참조 함수 매개변수로 사용한 후 값의 값을 증가시킵니다. 함수를 참조 매개변수로 사용할 수 있는 다양한 방법이 있습니다.

결론

참조에 의한 호출은 이 함수 호출 시가 아닌 생성 시 매개변수에 & 기호를 사용합니다. C나 C++ 언어에서는 PHP와 달리 이 함수를 호출할 때 주로 사용됩니다. 참조에 의한 PHP 호출은 변수의 실제 복사본을 수정하는 함수를 생성하거나 호출하는 것입니다. 따라서 호출시 참조 기호가 필요하지 않으며 임의로 PHP에서 오류가 발생합니다.

위 내용은 참조에 의한 PHP 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!