ホームページ >バックエンド開発 >PHPチュートリアル >PHP クロージャーの定義と使用法の簡単なサンプル PHP のヒント

PHP クロージャーの定義と使用法の簡単なサンプル PHP のヒント

jacklove
jackloveオリジナル
2018-06-27 17:49:141568ブラウズ

この記事では、PHP クロージャの定義と使用法を主に紹介し、簡単なサンプルの形式で PHP クロージャの簡単な定義と使用法を分析します。

PHP クロージャーの定義と使用法について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:


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


別の例


$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



##興味があるかもしれない記事:

php WeChat パブリック アカウント開発現金赤い封筒 php の例


PHP コード再構成方法に関するディスカッション_php スキル


PHP は負荷分散下でセッション共有機能を実現します php スキル



#

以上がPHP クロージャーの定義と使用法の簡単なサンプル PHP のヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。