Maison  >  Article  >  développement back-end  >  Définition de fermeture PHP et utilisation d'exemples simples de conseils PHP

Définition de fermeture PHP et utilisation d'exemples simples de conseils PHP

jacklove
jackloveoriginal
2018-06-27 17:49:141494parcourir

Cet article présente principalement la définition et l'utilisation des fermetures PHP. Il analyse la définition simple, l'utilisation et les précautions associées des fermetures PHP sous la forme d'exemples simples. Les amis dans le besoin peuvent se référer aux exemples de cet article

<.> Décrit la définition et l'utilisation des fermetures PHP. Partagez-le avec tout le monde pour votre référence, comme suit :


<?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 ---
*/


Un autre exemple


$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



Articles qui pourraient vous intéresser :

PHP WeChat développement de compte public cash enveloppe rouge Exemples PHP

Méthodes de reconstruction de code PHP_compétences PHP

PHP implémente la fonction de partage de session sous les compétences PHP d'équilibrage de charge


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn