PHP callable
例
callable を使用して、コールバック関数を引数として要求します。
<?php
function printFormatted(callable $format, $str) {
echo $format($str);
echo "<br>";
}
function exclaim($str) { return $str . "!"; }
printFormatted("exclaim", "Hello World");
?>
定義と使用法
callable
は、関数の引数を強制的に関数への参照にするために使用されます。
callableは以下のいずれかになります。
- 無名関数
- 関数の名前を含む文字列
- 静的クラス メソッドを記述する配列
- オブジェクトメソッドを記述する配列
その他の例
例
さまざまなタイプのcallableを使用する:
<?php
function printFormatted(callable $format, $str) {
echo $format($str);
echo "<br>";
}
class MyClass {
public static function ask($str) {
return $str . "?";
}
public function brackets($str) {
return "[$str]";
}
}
// 無名関数
$func = function($str) { return substr($str, 0, 5); };
printFormatted($func , "Hello World");
// 関数名を含む文字列
printFormatted("strtoupper", "Hello World");
// 静的クラスメソッドを表す配列
printFormatted(["MyClass", "ask"], "Hello World");
// オブジェクトメソッドを表す配列
$obj = new MyClass();
printFormatted([$obj, "brackets"], "Hello World");
?>
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。