PHPクロージャ関数の意味

墨辰丷
墨辰丷オリジナル
2018-06-05 09:50:272561ブラウズ

この記事では主にPHPのクロージャ関数について詳しく紹介していますが、クロージャ関数はfunction()に直接変数を渡すと関数として扱われます。クロージャ関数に興味のある方は、

匿名関数を参照してください。クロージャ関数とも呼ばれます (クロージャでは、関数を指定せずに関数を作成できます。これは、コールバック関数のパラメータの値として最もよく使用されます)。

Use use

echo preg_replace_callback('~-([a-z])~', function ($match) {
  return strtoupper($match[1]);
}, 'hello-world');`

example

$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');

概要

: 上記は全体ですこの記事の内容が参考になれば幸いです誰もが学んでいます 関連する推奨事項:

phpのmetaphone()関数とphpのlocaleconv()関数の例の詳細な説明

phpの画像アップロードクラスと呼び出しメソッド

php array_unshift( ) 配列キーの変更に関するメモと分析例


以上がPHPクロージャ関数の意味の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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