이 글에서는 주로 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('~-([a-z])~', function ($match) {
return strtoupper($match[1]);
}, 'hello-world');
// 输出 helloWorld
?>
익명 함수 변수 할당 예
<?php $greet = function($name) { printf("Hello %s\r\n", $name); }; $greet('World'); $greet('PHP'); ?>
클로저는 상위 범위에서 변수를 상속할 수 있습니다. 이러한 변수는 사용 언어 구성을 사용하여 전달되어야 합니다.
부모 범위에서 변수 상속
<?php $message = 'hello' // 没有 "use" $example = function () { var_dump($message); }; echo $example(); // 继承 $message $example = function () use($message) { var_dump($message); }; echo $example(); // Inherited variable's value is from when the function // is defined, not when called $message = 'world'echo $example(); // Reset message $message = 'hello' // 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 = 'world'echo $example(); // Closures can also accept regular arguments $example = function ($arg) use($message) { var_dump($arg . ' ' . $message); }; $example("hello"); ?>
php5.3 이후 php에서는 익명 함수 사용이 추가되었습니다. 오늘은 익명 함수를 사용할 때 오류가 발생합니다. 선언 및 사용법은 코드를 자세히 봐주세요$callback=function(){
return "aa";
};
echo $callback();
아래 예시를 보세요:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!