>백엔드 개발 >PHP 튜토리얼 >PHP의 익명 함수에 대한 간략한 소개

PHP의 익명 함수에 대한 간략한 소개

怪我咯
怪我咯원래의
2017-07-12 14:42:221443검색

익명 함수(익명 함수)는 클로저라고도 불리며 지정된 이름 없이 일시적으로 함수를 생성할 수 있게 해줍니다. 콜백 함수(콜백) 매개변수의 값으로 가장 자주 사용됩니다. 물론 다른 응용 프로그램도 있습니다.

익명 함수는 현재 Closure 클래스를 통해 구현됩니다.

클로저 함수는 변수의 값으로도 사용할 수 있습니다. PHP는 자동으로 이 expression을 내장 클래스 Closure의 객체 인스턴스로 변환합니다. 클로저 객체를 변수에 할당하는 방법은 일반적인 변수 할당 구문과 동일하며 끝에 세미콜론을 추가해야 합니다.

이 글에서는 주로 PHP의 클로저(익명 함수)에 대한 간략한 분석을 소개합니다. . 이 글은 사용 예시와 실행 효율성 테스트를 제공합니다.

사용 방법

을 참조하세요. integergroup 요소

에서 값을 조정해야 합니다.

$data = range(0, 100);//想要每个元素的值都加上.html的后缀
$suffix = '.html';
function makeSuffix($str, $suffix)
{
    return $str . $suffix;
}
$new_data = array_map(function($item) use ($suffix) {
    return makeSuffix($item, $suffix);
}, $data);

요소를 변경해야 합니다. 구조

코드는 다음과 같습니다.

$arr = [
    [
        'id'=>'',
        'name'=>'',
        'create_time'=>'',
    ],
];
$new_data = array_map(function($item) {
    return ['id'=>$item['id'],'name'=>$item['name']];
}, $arr);

//foreach를 사용하는 경우 루프에 제로타임 변수도 만들어야 합니다.

실행 효율성

코드는 다음과 같습니다.

$data = range(0, 50000)
//1
foreach ($data as &$value) {
    $value = makeSuffix($value, $suffix);
}
//2
foreach ($data as $value) {
    $new[] = makeSuffix($value, $suffix);
}
//3
array_map(function($item) use ($suffix) {
    return makeSuffix($item, $suffix);
}, $data);

5W 실행 후 결과 1~3에서 대부분의 경우 실행 시간이 순차적으로 증가합니다. 실행 결과 시간은 다음과 같습니다

코드는 다음과 같습니다.

1:0.0260009765625
2:0.038002014160156
3:0.047003030776978

Conclusion

Closed 패키지의 코드는 비교적 우아하지만 로직이 혼동되기 쉽고 실행 효율성이 상대적으로 낮습니다. 다른 방법으로 사용되므로 주의해서 사용해야 합니다. 코드 구조가 지저분하고 캡슐화가 필요할 때 사용하는 것이 좋습니다.

위 내용은 PHP의 익명 함수에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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