Cet article présente principalement la définition et l'utilisation des fermetures PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent également s'y référer
Les exemples de cet article décrivent la définition. et utilisation des fermetures PHP. Partagez-le avec tout le monde pour votre référence, comme suit :
<?php function getClosure($i) { $i = $i.'-'.date('H:i:s'); return function ($param) use ($i) { echo "--- param: $param ---\n"; echo "--- i: $i ---\n"; }; } $c = getClosure(123); $i = 456; $c('test'); sleep(3); $c2 = getClosure(123); $c2('test'); $c('test'); /* 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 = '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'); //此处输出world,hello
Recommandations associées :
Instructions pour l'application pratique des fonctionnalités de fermeture php
code de fonction de fermeture php Explication détaillée d'exemples
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!