PHP 배열에 함수를 효과적으로 저장하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-11-01 08:06:02
원래의
937명이 탐색했습니다.

How can I store functions in PHP arrays effectively?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!