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

PHPのコールバック/Callables


定義と使用法

コールバックはPHPの疑似型です。 PHP 5.4では、Callbackに似たCallable型のヒントが導入されました。あるオブジェクトが呼び出し可能として識別された場合、それは呼び出し可能な関数として使用できることを意味します。呼び出し可能オブジェクトは、組み込み関数またはユーザー定義関数、あるいは任意のクラス内のメソッドにすることができます。

is_callable()関数を使用して、識別子が呼び出し可能かどうかを確認できます。 PHPには、関数の名前をパラメーターとして受け入れるcall_user_function()があります。

次の例は、組み込み関数が呼び出し可能であることを示しています。

<?php
var_dump (is_callable("abs"));
?>

出力

これにより、次の結果が生成されます-

bool(true)

次の例では、ユーザー定義関数が呼び出し可能であるかどうかがテストされています。

<?php
function myfunction(){
   echo "Hello World";
}
echo is_callable("myfunction") . "\n";
call_user_func("myfunction")
?>

出力

これにより、次の結果が生成されます-

1
Hello World

オブジェクトメソッドを呼び出し可能オブジェクトとして渡すには、オブジェクト自体とそのメソッドを配列内の2つの要素として渡します

<?php
class myclass{
   function mymethod(){
      echo "This is a callable" . "\n";
   }
}
$obj=new myclass();
call_user_func(array($obj, "mymethod"));
//array passed in literal form
call_user_func([$obj, "mymethod"]);
?>

出力

これにより、次の結果が生成されます-

This is a callable
This is a callable

クラスの静的メソッドも呼び出し可能として渡すことができます。オブジェクトではなく、クラスの名前を配列パラメータの最初の要素にする必要があります

<?php
class myclass{
   static function mymethod(){
      echo "This is a callable" . "\n";
   }
}
$obj=new myclass();
call_user_func(array("myclass", "mymethod"));
//using scope resolution operator
call_user_func("myclass::mymethod");
?>

出力

これにより、次の結果が生成されます-

This is a callable
This is a callable

  1. PHP log()関数

    定義と使用法 ログ ()関数は、数値の自然対数を計算します。 対数は、対数の逆数です。 10 2の場合 =100、それはlog 10を意味します 100=2。自然対数はオイラー数eで計算されます ベースとして。 PHPでは、事前定義された定数 M_E 2.7182818284590452354であるeの値を与える たとえば、exp(4.60517018599)=100(e 4.60517018599 とも同じです) =100)。したがって、log e 100 =4.60517018599 PHPでは、 log e log()で表されます 関数 構文 log ( f

  2. PHP lcg_value()関数

    定義と使用法 lcg_value() 関数は0から1までの乱数を生成します。 LCGは、線形合同法の略です。このジェネレーターは、不連続な区分的線形方程式で計算された一連の疑似ランダム化された数値を生成します。これは、最も古い疑似乱数生成アルゴリズムの1つです 構文 lcg_value ( void ) : float パラメータ 戻り値 PHP lcg_value()関数は、0.0から1.0までの疑似ランダム浮動小数点値を返します。 PHPバージョン この関数は、PHPバージョン4.x、PHP 5.x、およびPHP7.xで使用できます。 例 以下は、lcg_value()関数の使