PHP闭包函数详解_PHP
匿名函数也叫闭包函数(closures允许创建一个没有指定没成的函数,最经常用作回调函数参数的值。
闭包函数没有函数名称,直接在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');`
使用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');
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));
以上就是关于PHP闭包函数的相关内容,希望对大家的学习有所帮助。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

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

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

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.

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 (

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

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 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.

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.
