>백엔드 개발 >PHP 튜토리얼 >PHP call_user_func 함수

PHP call_user_func 함수

WBOY
WBOY원래의
2016-07-29 09:13:023695검색

1. 함수 설명

콜백 함수를 호출합니다. 프로토타입: 혼합 call_user_func ( 호출 가능 callback[,mixed매개변수 [, 혼합 $… ]] ). 첫 번째 매개변수 콜백은 호출되는 콜백 함수이고 나머지 매개변수는 콜백 함수의 매개변수입니다. 여러 매개변수 또는 배열이 있을 수 있습니다.
매개변수는 참조가 될 수 없지만 참조는 배열을 통해 전달될 수 있습니다. 예는 다음과 같습니다.

<code><span><?php</span><span><span>function</span><span>addone</span><span>(&<span>$num</span>)</span> {</span><span>$num</span> ++; 
}

<span>$num</span> = <span>0</span>;

call_user_func(<span>'addone'</span>, <span>$num</span>);
<span>echo</span><span>"num : "</span> . <span>$num</span> . <span>"\n"</span>;

call_user_func_array(<span>'addone'</span>, <span>array</span>(&<span>$num</span>) );
<span>echo</span><span>"num : "</span> . <span>$num</span> . <span>"\n"</span>;

<span>?></span></code>

출력:
0
1
반환 값: 콜백 함수의 반환 값을 반환하거나, 오류가 있는 경우 FALSE를 반환합니다.

2.

  • 네임스페이스 사용 예.
<code><span><?php</span><span>namespace</span><span>Foobar</span>;

<span><span>class</span><span>Foo</span> {</span><span>static</span><span>public</span><span><span>function</span><span>test</span><span>()</span> {</span><span>print</span><span>"Hello world!\n"</span>;
    }
}

call_user_func(<span>__NAMESPACE__</span> .<span>'\Foo::test'</span>); 
call_user_func(<span>array</span>(<span>__NAMESPACE__</span> .<span>'\Foo'</span>, <span>'test'</span>)); 

<span>?></span></code>
  • 클래스에서 메서드 호출
<code><span><?php</span><span><span>class</span><span>myclass</span> {</span><span>static</span><span><span>function</span><span>test</span><span>()</span>
    {</span><span>echo</span><span>"Hello world!\n"</span>;
    }
}

<span>$classname</span> = <span>"myclass"</span>;

call_user_func(<span>array</span>(<span>$classname</span>, <span>'test'</span>));

<span>$myobject</span> = <span>new</span> myclass();

call_user_func(<span>array</span>(<span>$myobject</span>, <span>'test'</span>));

<span>?></span></code>
').addClass('pre-numbering').hide( ); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

이상은 관련 내용을 포함하여 php call_user_func 함수를 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.