이 글은 주로 PHP의 클로저(익명 함수)에 대한 간략한 분석을 소개합니다. 이 글은 사용 예와 실행 효율성 테스트를 제공합니다. 도움이 필요한 친구들이 참고할 수 있습니다.
클로저는 PHP5.3에서 익명 함수라고도 합니다. .
Usage
정수그룹 요소의 값을 조정해야 합니다
코드는 다음과 같습니다.
$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
결론
Closure 코드는 비교적 우아하지만 로직이 헷갈리기 쉽고, 다른 메소드에 비해 실행 효율이 상대적으로 낮으므로 주의해서 사용해야 합니다. . 코드 구조가 지저분하고 캡슐화가 필요할 때 사용하는 것이 좋습니다.위 내용은 PHP의 클로저 사용 예 및 실행 효율성 테스트 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!