백엔드 개발 PHP 튜토리얼 PHP 클로저 function_php 스킬에 대한 자세한 설명

PHP 클로저 function_php 스킬에 대한 자세한 설명

May 16, 2016 pm 07:58 PM
PHP 폐쇄 PHP 클로저 함수

익명 함수는 클로저 함수라고도 합니다. (클로저는 함수를 지정하지 않고도 함수를 생성할 수 있으며 콜백 함수 매개변수의 값으로 가장 많이 사용됩니다.

클로저 함수에는 함수 이름이 없습니다. function()에 변수를 직접 전달할 수 있습니다. 사용 시 정의된 변수는 함수로 처리됩니다

  $cl = function($name){
    return sprintf('hello %s',name);
  }
  echo $cli('fuck')`
로그인 후 복사

익명함수로 정의된 변수명을 통해 직접 호출

echo preg_replace_callback('~-([a-z])~', function ($match) {
  return strtoupper($match[1]);
}, 'hello-world');`
로그인 후 복사

사용

$message = 'hello';
$example = function() use ($message){
  var_dump($message);
};
echo $example();
//输出hello
$message = 'world';
//输出hello 因为继承变量的值的时候是函数定义的时候而不是 函数被调用的时候
echo $example();
//重置为hello
$message = 'hello';
//此处传引用
$example = function() use(&$message){
 var_dump($message);
};
echo $example();
//输出hello
$message = 'world';
echo $example();
//此处输出world
//闭包函数也用于正常的传值
$message = 'hello';
$example = function ($data) use ($message){
  return "{$data},{$message}";
};

echo $example('world');

로그인 후 복사

class Cart{
  //在类里面定义常量用 const 关键字,而不是通常的 define() 函数。
  const PRICE_BUTTER = 1.00;
  const PRICE_MILK  = 3.00;
  const PRICE_EGGS  = 6.95;

  protected $products = [];
  public function add($product,$quantity){
    $this->products[$product] = $quantity;
  }
  public function getQuantity($product){
    //是否定义了
    return isset($this->products[$product])?$this->products[$product]:FALSE;
  }
  public function getTotal($tax){
    $total = 0.0;
    $callback = function($quantity,$product) use ($tax , &$total){
      //constant 返回常量的值
      //__class__返回类名
      $price = constant(__CLASS__."::PRICE_".strtoupper($product));

      $total += ($price * $quantity)*($tax+1.0);
    };
    //array_walk() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数
    array_walk($this->products,$callback);
    //回调匿名函数
    return round($total,2);

  }
}


$my_cart = new Cart();
$my_cart->add('butter',1);
$my_cart->add('milk',3);
$my_cart->add('eggs',6);


print($my_cart->getTotal(0.05));
로그인 후 복사

위 내용은 PHP 클로저 기능에 대한 내용으로 모든 분들의 학습에 도움이 되기를 바랍니다.

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP에서 익명 함수 및 클로저를 사용하는 방법 PHP에서 익명 함수 및 클로저를 사용하는 방법 Jul 15, 2023 pm 02:12 PM

PHP에서 익명 함수 및 클로저를 사용하는 방법 익명 함수 및 클로저는 PHP에서 강력하고 일반적으로 사용되는 기능입니다. 이를 통해 코드에서 함수를 유연하게 정의하고 사용할 수 있으며 이는 콜백 함수, 이벤트 핸들러 및 비동기 프로그래밍을 처리할 때 특히 유용합니다. 이 기사에서는 PHP에서 익명 함수와 클로저를 사용하는 방법을 소개하고 독자의 이해를 돕기 위해 몇 가지 샘플 코드를 제공합니다. 1. 익명 함수의 정의 및 사용 익명 함수는 이름에서 알 수 있듯이 이름이 없는 함수입니다. "function"이라는 키워드와 작은 두 개의 키워드를 통해 접근할 수 있습니다.

PHP에서 익명 함수를 사용하는 방법 PHP에서 익명 함수를 사용하는 방법 May 18, 2023 pm 07:31 PM

PHP 언어에서는 익명 함수를 클로저(Closure)라고도 합니다. 미리 이름을 지정하지 않고도 런타임에 정의하여 사용할 수 있는 함수입니다. 일반 함수에 비해 익명 함수는 변수로 직접 사용할 수 있고 다른 함수에 전달할 수 있으며 동시에 해당 환경의 변수 값에 액세스할 수 있습니다. 익명 함수의 구문 형식은 다음과 같습니다. $function_name=function($parameter){//...functioncode

PHP 클로저, 생성기 및 리플렉션 기술을 사용하여 코드 복잡성을 단순화하는 방법 PHP 클로저, 생성기 및 리플렉션 기술을 사용하여 코드 복잡성을 단순화하는 방법 Sep 13, 2023 am 11:04 AM

PHP 클로저, 생성기 및 리플렉션 기술을 사용하여 코드 복잡성을 단순화하는 방법 소개: 일상적인 개발에서 우리는 종종 번거로운 로직과 중복 코드를 처리하는 문제에 직면합니다. PHP는 코드 복잡성을 단순화하고 개발 효율성을 향상시키는 데 도움이 되는 클로저, 생성기 및 반사 기술과 같은 몇 가지 강력한 기능을 제공합니다. 이 문서에서는 이러한 기술을 사용하여 코드를 단순화하는 방법을 소개하고 특정 코드 예제를 통해 설명합니다. 클로저를 사용하여 로직을 단순화하세요. 클로저는 함수 외부에서 사용할 수 있는 익명 함수입니다.

PHP 클로저, 생성기 및 리플렉션 기술의 실용적인 방법을 마스터하세요. PHP 클로저, 생성기 및 리플렉션 기술의 실용적인 방법을 마스터하세요. Sep 13, 2023 pm 01:22 PM

PHP 클로저, 생성기 및 리플렉션 기술을 마스터하기 위한 실용적인 방법에는 특정 코드 예제가 필요합니다. PHP 프로그래밍에서 클로저, 생성기 및 리플렉션 기술은 매우 중요하고 유용한 세 가지 기술입니다. 이 기사에서는 이 세 가지 기술의 기본 개념과 사용법을 소개하고, 독자가 이를 더 잘 이해하고 적용할 수 있도록 구체적인 코드 예제를 제공합니다. 1. 클로저 클로저는 환경이 더 이상 존재하지 않더라도 생성 당시 컨텍스트에 액세스할 수 있는 기능을 갖는 특수 기능입니다. 클로저는 use 키워드를 사용하여 정의됩니다. 다음은 클로저를 보여주는 간단한 예입니다.

효율적인 프로그래밍을 위해 PHP의 클로저, 생성기 및 리플렉션 기술을 사용하는 방법 효율적인 프로그래밍을 위해 PHP의 클로저, 생성기 및 리플렉션 기술을 사용하는 방법 Sep 13, 2023 pm 03:06 PM

효율적인 프로그래밍을 위해 PHP의 클로저, 생성기 및 리플렉션 기술을 사용하는 방법 소개: PHP는 웹 개발에 널리 사용되는 스크립팅 언어이며 클로저, 생성기 및 리플렉션 기술은 PHP의 강력하고 유연한 기능입니다. 이러한 기술을 능숙하게 적용함으로써 개발자는 보다 효율적이고 유지 관리하기 쉬운 코드를 작성할 수 있습니다. 이 글에서는 클로저, 제너레이터, 리플렉션 기술의 개념을 자세히 소개하고, 독자가 이러한 기술을 더 잘 이해하고 적용할 수 있도록 구체적인 코드 예제를 제공합니다. 1. 클로저(Closure) 클로저(Closure)는 자립(self-contained)이 가능하다는 뜻입니다(

PHP 클로저, 생성기 및 리플렉션 기술의 기본 원리를 깊이 이해합니다. PHP 클로저, 생성기 및 리플렉션 기술의 기본 원리를 깊이 이해합니다. Sep 13, 2023 pm 12:52 PM

PHP 클로저, 생성기 및 리플렉션 기술의 기본 원리를 깊이 이해하려면 특정 코드 예제가 필요합니다. PHP 프로그래밍에서는 클로저, 생성기 및 리플렉션 기술이 매우 중요하고 일반적으로 사용되는 기능입니다. 기본 원칙을 이해하면 이를 더 잘 사용하고 실제 개발에 더 유연하게 적용하는 데 도움이 될 수 있습니다. 1. 클로저의 기본 원리 클로저는 함수 외부 범위에 있는 변수에 함수 내에서 접근할 수 있다는 의미입니다. 함수가 함수 외부에서 호출되더라도 이러한 변수에는 계속 접근할 수 있습니다. 기본 원칙: PHP가 클로저를 구현할 때

PHP의 클로저 함수와 일반적인 문제에 대한 자세한 설명 PHP의 클로저 함수와 일반적인 문제에 대한 자세한 설명 Jun 09, 2023 am 09:46 AM

PHP의 클로저 함수 및 일반적인 문제에 대한 자세한 설명 PHP에서 클로저 함수는 함수를 매개변수로 전달하고 반환할 수 있는 특수 함수 유형이며, 함수 내부에서 외부 변수에 액세스할 수 있습니다. 이 글에서는 PHP의 클로저 함수와 그 일반적인 문제에 대해 자세히 살펴보겠습니다. 폐쇄 기능이란 무엇입니까? 클로저 함수는 정의 범위 내의 변수에 액세스할 수 있는 익명 함수입니다. 일반적으로 함수 정의의 범위는 함수 자체로 제한되지만 클로저 함수는 함수 실행이 완료된 후에도 정의 범위 내의 변수에 액세스할 수 있습니다.

PHP 클로저, 생성기 및 리플렉션 기술을 사용하여 코드 유지 관리성을 향상시키는 방법 PHP 클로저, 생성기 및 리플렉션 기술을 사용하여 코드 유지 관리성을 향상시키는 방법 Sep 13, 2023 am 11:51 AM

PHP 클로저, 생성기 및 리플렉션 기술을 사용하여 코드 유지 관리를 향상시키는 방법 소개: 유지 관리는 소프트웨어 개발 프로세스에서 매우 중요한 요소입니다. 유지 관리 가능한 코드를 쉽게 수정, 확장 및 디버깅할 수 있으므로 프로젝트가 더욱 유연하고 강력해집니다. 이 기사에서는 PHP에서 클로저, 생성기 및 리플렉션 기술을 사용하여 코드의 유지 관리성을 향상시키는 방법을 소개하고 특정 코드 예제를 통해 이를 설명합니다. 1. 클로저 사용 클로저는 컨텍스트 변수를 캡처할 수 있는 기능으로 보다 유연한 코드 구조를 달성하는 데 사용할 수 있습니다.

See all articles