Ausführliche Erläuterung von Beispielen anonymer Funktionen und Vorsichtsmaßnahmen in PHP

怪我咯
Freigeben: 2023-03-11 17:32:02
Original
896 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich PHPanonyme Funktionen und Anmerkungen im Detail vor. Freunde, die anonyme Funktionen lernen möchten, können hier nachschlagen.

php5.3 führt nicht nur anonyme Funktionen ein, sondern bietet auch viele bessere neue Funktionen. Werfen wir einen Blick auf die anonymen Funktionen und Vorsichtsmaßnahmen von PHP. Der spezifische Inhalt ist wie folgt:

PHP5.2 : Autoload, PDO und MySQLi, Typbeschränkungen
PHP5.2: JSON-Unterstützung
PHP5.3: Veraltete Funktion, anonyme Funktion, neu magische Methode, Namespace, späte statische Bindung, Heredoc und Nowdoc, const, ternärer Operator Operator, Phar
PHP5.4: Short Open Tag, Array-Abkürzung, Eigenschaften, integrierter Webserver, Details geändert
PHP5.5: yield, list() für foreach verwendet, Details geändert
PHP5.6: Konstante Erweiterung, Variable Funktionsparameter , Namespace-Erweiterung

Jetzt werden im Grunde alle Versionen nach PHP5.3 verwendet, aber es scheint, dass ein häufiges Phänomen darin besteht, dass viele neue Funktionen nicht vollständig populär gemacht wurden nach so langer Zeit und werden nur noch selten in Projekten eingesetzt.

Sehen Sie sich anonyme PHP-Funktionen an:

'test' => function(){
  return 'test'
},
Nach dem Login kopieren

Die Definition anonymer PHP-Funktionen ist sehr einfach. Sie besteht darin, einer Variablen einen Wert zuzuweisen, aber dieser Wert ist eine Funktion.

Oben wird das Yii-Framework verwendet, um die Komponentendatei zu konfigurieren und eine Testkonfiguration hinzuzufügen.

Was sind anonyme PHP-Funktionen?

Siehe die offizielle Erklärung:

Anonyme Funktionen, werden auch Abschlüsse genannt und ermöglichen die temporäre Erstellung einer Funktion ohne angegebenen Namen. Der Wert, der am häufigsten als Callback-Funktionsargument verwendet wird. Natürlich gibt es auch andere Anwendungen.

Anonymes Funktionsbeispiel

<?php
echo preg_replace_callback(&#39;~-([a-z])~&#39;, function ($match) {
 return strtoupper($match[1]);
}, &#39;hello-world&#39;);
// 输出 helloWorld
?>
Nach dem Login kopieren

Abschlussfunktionen können auch als Wert von Variablen verwendet werden. PHP konvertiert diesen Ausdruck automatisch in eine Objektinstanz der integrierten Klasse Closure. Die Methode zum Zuweisen eines Abschlussobjekts zu einer Variablen ist dieselbe wie die Syntax der gewöhnlichen Variablenzuweisung, und am Ende wird außerdem ein Semikolon hinzugefügt:

Beispiel für die Zuweisung einer anonymen Funktionsvariablen

<?php
$greet = function($name)
{
 printf("Hello %s\r\n", $name);
};
$greet(&#39;World&#39;);
$greet(&#39;PHP&#39;);
?>
Nach dem Login kopieren

Abschlussvariablen können vom übergeordneten Bereich geerbt werden. Solche Variablen sollten mithilfe des Sprachkonstrukts use übergeben werden.

Variablen vom übergeordneten Bereich erben

<?php
$message = &#39;hello&#39;
// 没有 "use"
$example = function () {
 var_dump($message);
};
echo $example();
// 继承 $message
$example = function () use($message) {
 var_dump($message);
};
echo $example();
// Inherited variable&#39;s value is from when the function
// is defined, not when called
$message = &#39;world&#39;echo $example();
// Reset message
$message = &#39;hello&#39;
// Inherit by-reference
$example = function () use(&$message) {
 var_dump($message);
};
echo $example();
// The changed value in the parent scope
// is reflected inside the function call
$message = &#39;world&#39;echo $example();
// Closures can also accept regular arguments
$example = function ($arg) use($message) {
 var_dump($arg . &#39; &#39; . $message);
};
$example("hello");
?>
Nach dem Login kopieren

Hinweise zu anonymen Funktionen in PHP

Nach PHP5.3 fügt PHP anonyme Funktionen hinzu , bei der Verwendung von „anonymous today“ ist ein Fehler aufgetreten. Schauen Sie sich den Code im Detail an.

$callback=function(){ 
 return "aa"; 
}; 
echo $callback();
Nach dem Login kopieren
Siehe im folgenden Beispiel:

Zu diesem Zeitpunkt wurde ein Fehler gemeldet! $callback ist nicht deklariert, es wird jedoch kein Fehler gemeldet, wenn von PHP selbst deklarierte Funktionen verwendet werden!

echo $callback(); 
$callback=function(){ 
 return "aa"; 
};
Nach dem Login kopieren

Beide werden aa gedruckt.

function callback(){ 
 return "aa"; 
} 
echo callback(); //aa 
 
echo callback(); //aa 
function callback(){ 
 return "aa"; 
}
Nach dem Login kopieren
Bei der Verwendung anonymer Funktionen werden anonyme Funktionen als Variablen verwendet und müssen im Voraus deklariert werden. ! ! ! !

Das Obige sind die anonymen PHP-Funktionen und Vorsichtsmaßnahmen, die Ihnen vorgestellt wurden. Ich hoffe, dass sie für Ihr Studium hilfreich sein werden.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung von Beispielen anonymer Funktionen und Vorsichtsmaßnahmen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage