PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPの無名関数


はじめに

匿名関数は、ユーザー定義の名前がない関数です。このような機能は、クロージャーとも呼ばれます。 またはラムダ 働き。場合によっては、1回限りの関数が必要になることがあります。クロージャーは、それが定義されている環境を閉じる匿名関数です。その中にuseキーワードを指定する必要があります。インラインコールバック関数を作成するための無名関数の最も一般的な使用法。

構文

$var=function ($arg1, $arg2) { return $val; };
  • functionキーワードと開始括弧の間に関数名はありません。
  • 無名関数の定義は式であるため、関数定義の後にセミコロンがあります
  • 関数は変数に割り当てられ、後で変数の名前を使用して呼び出されます。
  • 後で呼び出すことができる別の関数に渡されると、コールバックと呼ばれます。
  • 外部関数の変数にアクセスできるように、外部関数内から返します。これはクロージャーと呼ばれます。

無名関数の例

<?php
$var = function ($x) {return pow($x,3);};
echo "cube of 3 = " . $var(3);
?>

出力

これにより、次の結果が得られます。 −

cube of 3 = 27

コールバックとしての無名関数

次の例では、無名関数が組み込みのusort()関数の引数として使用されています。 usort()関数は、比較関数を使用して特定の配列を並べ替えます

<?php
$arr = [10,3,70,21,54];
usort ($arr, function ($x , $y) {
   return $x > $y;
});
foreach ($arr as $x){
   echo $x . "\n";
}
?>

出力

これにより、次の結果が得られます。 −

3
10
21
54
70

クロージャーとしての無名関数

クロージャは、useキーワードを使用してスコープ外の変数にアクセスできる無名関数でもあります

<?php
$maxmarks=300;
$percent=function ($marks) use ($maxmarks) {return $marks*100/$maxmarks;};
echo "marks=285 percentage=". $percent(285);
?>

出力

これにより、次の結果が得られます。 −

marks=285 percentage=95

  1. PHP mt_getrandmax()関数

    定義と使用法 関数名の「mt」プレフィックスは、メルセンヌツイスターを表します。 。 mt_ getrandmax() 関数は、PHPで使用できる最大の整数を返します。この関数は、メルセンヌツイスター乱数ジェネレーターメソッドを使用します。この関数によって返される値は、mt_rand()関数が乱数を生成するための上限として機能します。 この関数は常に整数を返します。 構文 mt_getrandmax ( void ) : int パラメータ Sr.No パラメータと説明 1 この関数にはパラメータは必要ありません 戻り値 PHP mt_getrandma

  2. Pythonの無名関数とは何ですか?

    Pythonでは、無名関数は名前なしで定義される関数です。通常の関数はdefキーワードを使用して定義されますが、Pythonでは無名関数はlambdaキーワードを使用して定義されます。したがって、無名関数はラムダ関数とも呼ばれます。 指定されたコードを実行すると、次の出力が得られます C:/Users/TutorialsPoint1/~.py [(13, -3), (4, 1), (1, 2), (9, 10)]