Heim  >  Artikel  >  Backend-Entwicklung  >  Einfaches Beispiel für die Definition und Verwendung von PHP-Abschlüssen

Einfaches Beispiel für die Definition und Verwendung von PHP-Abschlüssen

不言
不言Original
2018-04-13 11:56:201545Durchsuche

Dieser Artikel stellt hauptsächlich die Definition und Verwendung von PHP-Verschlüssen vor. Er hat einen gewissen Referenzwert. Jetzt können auch Freunde in Not darauf zurückgreifen.

Die Beispiele in diesem Artikel beschreiben die Definition und Verwendung von PHP-Verschlüssen. Teilen Sie es wie folgt als Referenz mit allen:


<?php
function getClosure($i)
{
  $i = $i.&#39;-&#39;.date(&#39;H:i:s&#39;);
  return function ($param) use ($i) {
    echo "--- param: $param ---\n";
    echo "--- i: $i ---\n";
  };
}
$c = getClosure(123);
$i = 456;
$c(&#39;test&#39;);
sleep(3);
$c2 = getClosure(123);
$c2(&#39;test&#39;);
$c(&#39;test&#39;);
/*
output:
--- param: test ---
--- i: 123-21:36:52 ---
--- param: test ---
--- i: 123-21:36:55 ---
--- param: test ---
--- i: 123-21:36:52 ---
*/


Ein weiteres Beispiel


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

Verwandte Empfehlungen:

Anleitung zur praktischen Anwendung von PHP-Abschlussfunktionen

PHP-Abschlussfunktionscode Ausführliche Erklärung von Beispielen

Das obige ist der detaillierte Inhalt vonEinfaches Beispiel für die Definition und Verwendung von PHP-Abschlüssen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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