PHP는 변수 함수 개념을 지원합니다. 이는 변수 이름 뒤에 괄호가 있으면 PHP는 변수 값과 동일한 이름을 가진 함수를 찾아 실행을 시도한다는 의미입니다. 변수 함수는 콜백 함수 및 함수 테이블을 비롯한 일부 목적을 구현하는 데 사용될 수 있습니다.
변수 함수는 echo , print , unset() , isset() ,empty() , include , require 및 유사한 언어 구성에 사용할 수 없습니다. 이러한 구조를 가변 함수로 사용하려면 자체 래퍼 함수가 필요합니다.
예제 #1 변수 함수 예
<?php function foo () { echo "In foo()<br />\n" ; } function bar ( $arg = '' ) { echo "In bar(); argument was ' $arg '.<br />\n" ; } // 使用 echo 的包装函数 function echoit ( $string ) { echo $string ; } $func = 'foo' ; $func (); // This calls foo() $func = 'bar' ; $func ( 'test' ); // This calls bar() $func = 'echoit' ; $func ( 'test' ); // This calls echoit() ?>
변수 함수의 구문을 사용하여 객체의 메서드를 호출할 수도 있습니다.
예제 #2 변수 메서드 예
<?php class Foo { function Variable () { $name = 'Bar' ; $this -> $name (); // This calls the Bar() method } function Bar () { echo "This is Bar" ; } } $foo = new Foo (); $funcname = "Variable" ; $foo -> $funcname (); // This calls $foo->Variable() ?>
정적 메서드를 호출할 때 함수 호출이 정적 properties보다 우선합니다.
예제 #3 변수 메서드 및 정적 속성의 예
<?php class Foo { static $variable = 'static property' ; static function Variable () { echo 'Method Variable called' ; } } echo Foo :: $variable ; // This prints 'static property'. It does need a $variable in this scope. $variable = "Variable" ; Foo :: $variable (); // This calls $foo->Variable() reading $variable in this scope. ?>
위 내용은 PHP 변수 함수에 대한 몇 가지 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!