PHP의 익명함수 예시와 주의사항에 대한 자세한 설명

怪我咯
풀어 주다: 2023-03-11 17:32:02
원래의
882명이 탐색했습니다.

이 글에서는 주로 PHP익명함수Notes에 대해 소개합니다. 익명함수는 PHP5.3에서 소개되었습니다. 익명함수를 배우고 싶은 친구들은 참고하시면 됩니다

php5.3은 익명함수 외에도 더 나은 새로운 기능과 주의 사항을 살펴보겠습니다.

PHP5.2 이전: 자동 로드, PDO 및 MySQLi, 유형 제약
PHP5. 3: 사용되지 않는 기능, 익명 함수, 새로운 magic 메서드
, 네임스페이스, 후기 정적 바인딩, Heredoc 및 Nowdoc, const, 삼차 연산표기법, PharPHP5.4: Short Open Tag, 배열 약어, 특성, 내장 웹 서버, 세부 사항 수정됨
PHP5.5: yield, foreach에 대한 list(), 세부 사항 수정됨
PHP5.6: 상수 강화, 가변 함수 매개변수
, 네임스페이스 강화 이제 우리는 기본적으로 PHP5.3 이상 버전을 사용하지만, 오랜 시간이 지나도 많은 새로운 기능이 완전히 대중화되지 않는 것이 일반적인 현상이라고 생각합니다. 프로젝트에서는 거의 사용되지 않습니다. PHP 익명 함수 보기:

'test' => function(){
  return 'test'
},
로그인 후 복사

PHP 익명 함수의 정의는 매우 간단합니다. 변수에 값을 할당하는 것이지만 이 값은 함수입니다.

위는 Yii 프레임워크를 사용하여 구성한 컴포넌트 파일이며, 테스트 구성이 추가되어 있습니다.

PHP 익명 함수란 무엇인가요?

공식 설명 보기:

익명 함수,

클로저 함수라고도 하며, 지정된 이름 없이 일시적으로 함수를 생성할 수 있습니다. 콜백 함수 인수로 가장 일반적으로 사용되는 값입니다. 물론 다른 응용 프로그램도 있습니다. 익명 함수 예시

<?php
echo preg_replace_callback(&#39;~-([a-z])~&#39;, function ($match) {
 return strtoupper($match[1]);
}, &#39;hello-world&#39;);
// 输出 helloWorld
?>
로그인 후 복사
클로저 함수를 변수의 값으로 사용할 수도 있습니다. PHP는 자동으로 이 표현식을 내장 클래스 Closure의 객체 인스턴스로 변환합니다. 클로저 객체를 변수에 할당하는 방법은 일반 변수 할당 구문과 동일하며 끝에 세미콜론도 추가합니다.

익명 함수 변수 할당 예

<?php
$greet = function($name)
{
 printf("Hello %s\r\n", $name);
};
$greet(&#39;World&#39;);
$greet(&#39;PHP&#39;);
?>
로그인 후 복사

클로저는 상위 범위에서 변수를 상속할 수 있습니다. 이러한 변수는 사용 언어 구성을 사용하여 전달되어야 합니다.

부모 범위에서 변수 상속

<?php
$message = &#39;hello&#39;
// 没有 "use"
$example = function () {
 var_dump($message);
};
echo $example();
// 继承 $message
$example = function () use($message) {
 var_dump($message);
};
echo $example();
// Inherited variable&#39;s value is from when the function
// is defined, not when called
$message = &#39;world&#39;echo $example();
// Reset message
$message = &#39;hello&#39;
// Inherit by-reference
$example = function () use(&$message) {
 var_dump($message);
};
echo $example();
// The changed value in the parent scope
// is reflected inside the function call
$message = &#39;world&#39;echo $example();
// Closures can also accept regular arguments
$example = function ($arg) use($message) {
 var_dump($arg . &#39; &#39; . $message);
};
$example("hello");
?>
로그인 후 복사

php의 익명 함수에 대한 참고 사항

php5.3 이후 php에서는 익명 함수 사용이 추가되었습니다. 오늘은 익명 함수를 사용할 때 오류가 발생합니다. 선언 및 사용법은 코드를 자세히 봐주세요

$callback=function(){ 
 return "aa"; 
}; 
echo $callback();
로그인 후 복사
인쇄된 코드는 aa;

아래 예시를 보세요:

echo $callback(); 
$callback=function(){ 
 return "aa"; 
};
로그인 후 복사

이번에 오류가 보고되었습니다! $callback은 선언되지 않았지만 PHP 자체에서 선언된 함수를 사용할 때 오류가 보고되지 않습니다!

function callback(){ 
 return "aa"; 
} 
echo callback(); //aa 
 
echo callback(); //aa 
function callback(){ 
 return "aa"; 
}
로그인 후 복사

둘다 aa로 출력됩니다;

익명함수 사용시에는 익명함수를 변수로 사용하므로 미리 선언해 주어야 합니다. js에서도 마찬가지입니다! ! ! ! !

위에서 소개한 PHP 익명 기능과 주의사항이 여러분의 학습에 도움이 되기를 바랍니다.

위 내용은 PHP의 익명함수 예시와 주의사항에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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