참조에 의한 호출은 변수의 참조를 함수 매개변수로 전달하는 것입니다. 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);
참조 호출 작업을 진행하기 전에 기능에 적합할 수 있도록 요구 사항이 있어야 합니다. 그런 다음 지정된 함수 선언에서 매개변수 변수에 대한 참조 기호를 사용할 수 있습니다. 간단한 예를 통해 동일하게 이해해 봅시다.
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 언어에서 참조 호출로 사용할 수 있습니다.
아래에는 다양한 예가 나와 있습니다.
참조 호출을 사용하여 이 함수의 특성을 확인하는 간단한 프로그램입니다. 여기서는 참조 호출을 이용하고 함수 내부에서 변수를 수정한 후 실제 값이 수정되는 것을 확인할 수 있습니다.
코드:
<?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에서 값별 호출과 참조별 호출을 구별하는 것입니다.
코드
<?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; ?>
출력:
위의 예에서 볼 수 있듯이 a와 b의 값을 해당 함수 외부에 인쇄하면 call-by-swap이 작동하지 않습니다. 이는 값에 의한 호출이 변수의 실제 복사본을 변경하지 않기 때문입니다. 그러나 참조에 의한 호출에서는 해당 함수를 호출한 직후에 a와 b의 값이 인쇄되고 교환이 잘 작동하는 것을 볼 수 있습니다. 이는 값에 의한 호출과 참조에 의한 호출을 사용하여 스와핑 함수를 다루는 동안의 모든 것입니다.
코드:
<?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 ?>
출력:
위의 예에서는 참조 함수 FunctionAsAParam()이 또 다른 함수 매개변수로 사용되는 것을 볼 수 있습니다. 내부에 작성된 코드에 따라 기본 변수의 값을 할당합니다. mainFunction() 함수는 위 코드의 주요 함수로 FunctionAsAParam()을 참조 함수 매개변수로 사용한 후 값의 값을 증가시킵니다. 함수를 참조 매개변수로 사용할 수 있는 다양한 방법이 있습니다.
참조에 의한 호출은 이 함수 호출 시가 아닌 생성 시 매개변수에 & 기호를 사용합니다. C나 C++ 언어에서는 PHP와 달리 이 함수를 호출할 때 주로 사용됩니다. 참조에 의한 PHP 호출은 변수의 실제 복사본을 수정하는 함수를 생성하거나 호출하는 것입니다. 따라서 호출시 참조 기호가 필요하지 않으며 임의로 PHP에서 오류가 발생합니다.
위 내용은 참조에 의한 PHP 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!