Heim Backend-Entwicklung PHP-Tutorial PHP闭包函数详解_PHP

PHP闭包函数详解_PHP

May 28, 2016 am 11:48 AM
php闭包 php闭包函数

匿名函数也叫闭包函数(closures允许创建一个没有指定没成的函数,最经常用作回调函数参数的值。

闭包函数没有函数名称,直接在function()传入变量即可 使用时将定义的变量当作函数来处理

  $cl = function($name){
    return sprintf('hello %s',name);
  }
  echo $cli('fuck')`
Nach dem Login kopieren

直接通过定义为匿名函数的变量名称来调用

echo preg_replace_callback('~-([a-z])~', function ($match) {
  return strtoupper($match[1]);
}, 'hello-world');`
Nach dem Login kopieren

使用use

$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');

Nach dem Login kopieren

example

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));
Nach dem Login kopieren

以上就是关于PHP闭包函数的相关内容,希望对大家的学习有所帮助。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie anonyme Funktionen und Abschlüsse in PHP So verwenden Sie anonyme Funktionen und Abschlüsse in PHP Jul 15, 2023 pm 02:12 PM

So verwenden Sie anonyme Funktionen und Abschlüsse in PHP Anonyme Funktionen und Abschlüsse sind leistungsstarke und häufig verwendete Funktionen in PHP. Sie ermöglichen Ihnen die flexible Definition und Verwendung von Funktionen in Ihrem Code, was besonders nützlich ist, wenn es um Rückruffunktionen, Ereignishandler und asynchrone Programmierung geht. In diesem Artikel wird die Verwendung anonymer Funktionen und Schließungen in PHP vorgestellt und einige Beispielcodes bereitgestellt, um den Lesern das Verständnis zu erleichtern. 1. Definition und Verwendung anonymer Funktionen Anonyme Funktionen sind, wie der Name schon sagt, Funktionen ohne Namen. Der Zugriff erfolgt über das Schlüsselwort „function“ und ein Paar small

So verwenden Sie anonyme Funktionen in PHP So verwenden Sie anonyme Funktionen in PHP May 18, 2023 pm 07:31 PM

In der PHP-Sprache wird eine anonyme Funktion auch als Abschluss (Closure) bezeichnet. Dabei handelt es sich um eine Funktion, die zur Laufzeit definiert und verwendet werden kann, ohne sie vorher zu benennen. Im Vergleich zu gewöhnlichen Funktionen können anonyme Funktionen direkt als Variable verwendet und an andere Funktionen übergeben werden und gleichzeitig auf die Variablenwerte ihrer Umgebung zugreifen. Das Syntaxformat der anonymen Funktion lautet wie folgt: $function_name=function($parameter){//...functioncode

Wie man PHP-Verschlüsse, Generatoren und Reflexionstechnologie nutzt, um die Codekomplexität zu vereinfachen Wie man PHP-Verschlüsse, Generatoren und Reflexionstechnologie nutzt, um die Codekomplexität zu vereinfachen Sep 13, 2023 am 11:04 AM

So nutzen Sie PHP-Verschlüsse, Generatoren und Reflexionstechnologie, um die Codekomplexität zu vereinfachen. Einführung: In der täglichen Entwicklung stoßen wir häufig auf Probleme im Umgang mit umständlicher Logik und redundantem Code. PHP bietet uns einige leistungsstarke Funktionen wie Schließungen, Generatoren und Reflexionstechnologie, die uns helfen können, die Codekomplexität zu vereinfachen und die Entwicklungseffizienz zu verbessern. In diesem Artikel erfahren Sie, wie Sie mit diesen Techniken Ihren Code vereinfachen und anhand konkreter Codebeispiele erläutern. Verwenden Sie Abschlüsse, um die Logik zu vereinfachen. Ein Abschluss ist eine anonyme Funktion, die außerhalb der Funktion verwendet werden kann.

Wie man die Abschlüsse, Generatoren und Reflexionstechniken von PHP für eine effiziente Programmierung nutzt Wie man die Abschlüsse, Generatoren und Reflexionstechniken von PHP für eine effiziente Programmierung nutzt Sep 13, 2023 pm 03:06 PM

So verwenden Sie die Schließungen, Generatoren und Reflexionstechnologien von PHP für eine effiziente Programmierung. Einführung: PHP ist eine in der Webentwicklung weit verbreitete Skriptsprache, und Schließungen, Generatoren und Reflexionstechnologien sind leistungsstarke und flexible Funktionen in PHP. Durch die geschickte Anwendung dieser Techniken können Entwickler Code schreiben, der effizienter und einfacher zu warten ist. In diesem Artikel werden die Konzepte von Abschlüssen, Generatoren und Reflexionstechniken ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, diese Techniken besser zu verstehen und anzuwenden. 1. Verschluss Verschluss bedeutet, dass es in sich geschlossen sein kann (

Verstehen Sie die zugrunde liegenden Prinzipien von PHP-Verschlüssen, Generatoren und Reflexionstechnologie genau Verstehen Sie die zugrunde liegenden Prinzipien von PHP-Verschlüssen, Generatoren und Reflexionstechnologie genau Sep 13, 2023 pm 12:52 PM

Um die zugrunde liegenden Prinzipien von PHP-Verschlüssen, -Generatoren und -Reflexionstechnologien gründlich zu verstehen, sind spezifische Codebeispiele erforderlich. In der PHP-Programmierung sind Verschlüsse, Generatoren und Reflexionstechnologien sehr wichtige und häufig verwendete Funktionen. Das Verständnis ihrer zugrunde liegenden Prinzipien kann uns helfen, sie besser zu nutzen und flexibler in der tatsächlichen Entwicklung anzuwenden. 1. Das zugrunde liegende Prinzip der Schließung Schließung bedeutet, dass auf die Variablen im externen Bereich einer Funktion innerhalb einer Funktion zugegriffen werden kann. Auch wenn die Funktion außerhalb der Funktion aufgerufen wird, kann weiterhin auf diese Variablen zugegriffen werden. Das zugrunde liegende Prinzip: Wenn PHP einen Abschluss implementiert, erstellt es einen

Beherrschen Sie praktische Methoden von PHP-Verschlüssen, Generatoren und Reflexionstechniken Beherrschen Sie praktische Methoden von PHP-Verschlüssen, Generatoren und Reflexionstechniken Sep 13, 2023 pm 01:22 PM

Praktische Methoden zur Beherrschung von PHP-Verschlüssen, Generatoren und Reflexionstechnologien erfordern spezifische Codebeispiele. In der PHP-Programmierung sind Schließungen, Generatoren und Reflexionstechnologien drei sehr wichtige und nützliche Technologien. In diesem Artikel werden die grundlegenden Konzepte und die Verwendung dieser drei Technologien vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen, sie besser zu verstehen und anzuwenden. 1. Abschluss Ein Abschluss ist eine spezielle Funktion, die auf den Kontext zugreifen kann, als er erstellt wurde, auch wenn der Kontext nicht mehr existiert. Abschlüsse werden über das Schlüsselwort use definiert. Hier ist ein einfaches Beispiel, das Verschlüsse zeigt

Ausführliche Erklärung der Abschlussfunktionen und häufiger Probleme in PHP Ausführliche Erklärung der Abschlussfunktionen und häufiger Probleme in PHP Jun 09, 2023 am 09:46 AM

Ausführliche Erläuterung von Abschlussfunktionen und häufigen Problemen in PHP. In PHP ist eine Abschlussfunktion ein spezieller Funktionstyp, der die Übergabe und Rückgabe von Funktionen als Parameter ermöglicht und den Zugriff auf externe Variablen innerhalb der Funktion ermöglicht. In diesem Artikel werfen wir einen genaueren Blick auf die Abschlussfunktionen in PHP und ihre häufigen Probleme. Was ist eine Verschlussfunktion? Eine Abschlussfunktion ist eine anonyme Funktion, die Zugriff auf Variablen im Rahmen ihrer Definition hat. Normalerweise ist der Umfang einer Funktionsdefinition auf die Funktion selbst beschränkt, aber eine Abschlussfunktion kann auf Variablen innerhalb des Geltungsbereichs der Definition zugreifen, selbst nachdem die Ausführung der Funktion abgeschlossen ist.

Wie man PHP-Verschlüsse, Generatoren und Reflexionstechniken verwendet, um die Wartbarkeit des Codes zu verbessern Wie man PHP-Verschlüsse, Generatoren und Reflexionstechniken verwendet, um die Wartbarkeit des Codes zu verbessern Sep 13, 2023 am 11:51 AM

So verwenden Sie PHP-Verschlüsse, Generatoren und Reflexionstechniken, um die Wartbarkeit von Code zu verbessern. Einführung: Wartbarkeit ist ein sehr wichtiger Faktor im Softwareentwicklungsprozess. Wartbarer Code kann leicht geändert, erweitert und debuggt werden, wodurch Projekte flexibler und robuster werden. In diesem Artikel wird vorgestellt, wie die Wartbarkeit von Code durch die Verwendung von Abschlüssen, Generatoren und Reflexionstechniken in PHP verbessert werden kann, und dies wird anhand spezifischer Codebeispiele veranschaulicht. 1. Verwendung von Schließungen Schließung ist eine Funktion, die Kontextvariablen erfassen kann. Sie kann verwendet werden, um eine flexiblere Codestruktur zu erreichen.

See all articles