PHP 배열에 함수 저장
PHP 배열에 함수를 저장할 수 있는지에 대한 의문이 생깁니다. 예를 들어 다음을 고려해보세요.
$functions = [ 'function1' => function($echo) { echo $echo; } ];
이것이 실행 가능한 접근 방식인가요? 그렇지 않은 경우 권장되는 대안은 무엇입니까?
권장 접근 방식: 익명 함수
함수를 배열에 저장하는 데 선호되는 방법은 익명 함수를 활용하는 것입니다. 위의 예와 같이 인라인으로 정의할 수 있습니다.
$functions = [ 'function1' => fn($echo) => $echo ];
외부 함수 참조
미리 선언된 함수를 처리할 때 다음과 같이 이름으로 참조할 수 있습니다. 문자열:
<code class="php">function do_echo($echo) { echo $echo; } $functions = [ 'function1' => 'do_echo' ];</code>
레거시 메서드(PHP < 5.3): create_function
익명 함수를 지원하지 않는 이전 버전의 PHP의 경우 create_function 구문은 다음과 같습니다. 채용:
<code class="php">$functions = [ 'function1' => create_function('$echo', 'echo $echo;') ];<p><strong>저장된 함수 호출</strong></p> <p>함수를 저장하는 데 사용된 방법에 관계없이 직접(PHP >= 5.4) 또는 다음을 통해 호출할 수 있습니다. call_user_func/call_user_func_array.</p> <pre class="brush:php;toolbar:false"><code class="php">$functions['function1']('Hello world!'); call_user_func($functions['function1'], 'Hello world!');</code>
요약하자면 익명 함수는 PHP 배열에 함수를 저장하는 데 권장되는 접근 방식입니다. 문자열 참조는 미리 선언된 함수에 사용되고 create_function은 레거시 PHP 버전에 사용할 수 있습니다.
위 내용은 PHP 배열에 함수를 효과적으로 저장하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!