TECH I.S.

PHPコールバック関数


コールバック関数

コールバック関数(単に「コールバック」と呼ばれることが多い)は、引数として別の関数に渡される関数です。

任意の既存の関数をコールバック関数として使用できます。関数をコールバック関数として使用するには、関数の名前を含む文字列を別の関数の引数として渡します。

PHPのarray_map()関数にコールバックを渡すと、 配列の各文字列の長さを計算します:

<?php function my_callback($item) {   return strlen($item); } $strings = ["apple", "orange", "banana", "coconut"]; $lengths = array_map("my_callback", $strings); print_r($lengths); ?>

バージョン7以降、PHPは無名関数をコールバック関数として渡すことができます。

PHPのarray_map()関数のコールバックとして無名関数を使用します:

<?php $strings = ["apple", "orange", "banana", "coconut"]; $lengths = array_map( function($item) { return strlen($item); } , $strings); print_r($lengths); ?>


ユーザー定義関数のコールバック

ユーザー定義の関数とメソッドは、引数としてコールバック関数を受け取ることもできます。ユーザー定義の関数またはメソッド内でコールバック関数を使用するには、変数に括弧を追加して呼び出し、通常の関数と同様に引数を渡します。

ユーザー定義関数からコールバックを実行します。

<?php function exclaim($str) {   return $str . "! "; } function ask($str) {   return $str . "? "; } function printFormatted($str, $format) {   // Calling the $format callback function   echo $format($str); } // Pass "exclaim" and "ask" as callback functions to printFormatted() printFormatted("Hello world", "exclaim"); printFormatted("Hello world", "ask"); ?>



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細