Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 변수 함수

<시간/>

소개

변수 이름 앞에 매개변수가 있거나 없는 괄호가 있는 경우 PHP 파서는 이름이 변수 값에 해당하는 함수를 찾고 실행합니다. 이러한 기능을 가변 기능이라고 합니다. 이 기능은 콜백, 함수 테이블 등을 구현하는 데 유용합니다.

변수 함수는 include, require, echo 등과 같은 언어 구성으로 만들 수 없습니다. 하지만 함수 래퍼를 사용하여 해결 방법을 찾을 수 있습니다.

변수 함수 예

다음 예에서 변수의 값은 이름의 함수와 일치합니다. 따라서 함수는 변수 앞에 괄호를 넣어 호출됩니다.

예시

<?php
function hello(){
   echo "Hello World";
}
$var="Hello";
$var();
?>

출력

그러면 다음과 같은 결과가 생성됩니다. -

Hello World

다음은 인수가 있는 변수 함수의 또 다른 예입니다.

예시

<?php
function add($x, $y){
   echo $x+$y;
}
$var="add";
$var(10,20);
?>

출력

그러면 다음과 같은 결과가 생성됩니다. -

30

다음 예에서는 호출할 함수의 이름을 사용자가 입력합니다.

예시

<?php
function add($x, $y){
   echo $x+$y;
}
function sub($x, $y){
   echo $x-$y;
}
$var=readline("enter name of function: ");
$var(10,20);
?>

출력

그러면 다음과 같은 결과가 생성됩니다. -

enter name of function: add
30

변수 메소드 예

변수 함수의 개념은 클래스의 메소드로 확장 가능

예시

<?php
class myclass{
   function welcome($name){
      echo "Welcome $name";
   }
}
$obj=new myclass();
$f="welcome";
$obj->$f("Amar");
?>

출력

그러면 다음과 같은 결과가 생성됩니다. -

Welcome Amar

정적 메서드는 가변 메서드 기술로도 호출할 수 있습니다.

예시

<?php
class myclass{
   static function welcome($name){
      echo "Welcome $name";
   }
}
$f="welcome";
myclass::$f("Amar");
?>

출력

이제 다음과 같이 예외가 발생합니다 -

Welcome Amar