ホームページ > バックエンド開発 > PHPチュートリアル > PHP コールバック関数とは正確には何ですか?

PHP コールバック関数とは正確には何ですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 14:39:27
オリジナル
876 人が閲覧しました

Baidu で検索すると、多くのコールバックは関数ポインター コールバックを使用すると言われ、それを段階的に説明し、最終的には C 言語にたどり着きました。私は言葉を失いました。このコールバックは理解するのがそれほど難しいですか?
コールバックについての私の理解からすると、重要なのはこのコールバックですが、それは何ですか?これは関数内で関数を呼び出していると理解している人もいますが、そうではないと思います。
条件などの数学的論理のループ証明と同じように、関数自体を呼び出しています。このような検証エラーが発生します: b=a なので a=b なので、誰もが同じような間違いを犯したことがあると思います
そして、コールバック関数についての私の理解はこれに似ています、
function fn($a){
$b= m; $ $ C = $ b+fn ($ b);
}
どうでしょうか?


ディスカッション(解決策)への返信


あなたの理解は間違っています!

自分自身を呼び出すことは、コールバックではなく、「再帰」と呼ばれます

コールバックの鍵となるのは、このコールバックであることもご存知でしょう
コールバックであるため、誰が主語であるかという問題があります。コールバックは呼び戻すことを意味するためです
Me Function Aが呼び出され、関数 A は実行中に私が提供した関数 B を呼び出します。この関数 B は関数 A のコールバック関数と呼ばれます
明らかに本体は関数 A です

関数は一般的に特定の関数 A のコレクションを完了することがわかります。関数の実行中にその動作に干渉することはできません。関数がコールバック関数を使用して設計されている場合、関数の実行中にコールバック関数を通じて介入することができます。たとえば、

function foo($n, $f='') {  if($n < 1) return;  for($i=0; $i<$n; $i++) {    echo $f ? $f($i) : $i;  }}//无回调时foo(5); //01234//有回调时function f1($v) {  return $v + $v;}foo(5, 'f1'); //02468
ログイン後にコピー
ログイン後にコピー


あなたの理解は間違っています!
自分自身を呼び出すことは、コールバックではなく、「再帰」と呼ばれます

コールバックの鍵となるのは、このコールバックであることもご存知でしょう

コールバックであるため、誰が主語であるかという問題があります。コールバックは呼び戻すことを意味するためです
Me Function Aが呼び出され、関数 A は実行中に私が提供した関数 B を呼び出します。この関数 B は関数 A のコールバック関数と呼ばれます
明らかに本体は関数 A です

関数は一般的に特定の関数 A のコレクションを完了することがわかります。関数の実行中にその動作に干渉することはできません。関数がコールバック関数を使用して設計されている場合、関数の実行中にコールバック関数を通じて介入することができます。たとえば、

function foo($n, $f='') {  if($n < 1) return;  for($i=0; $i<$n; $i++) {    echo $f ? $f($i) : $i;  }}//无回调时foo(5); //01234//有回调时function f1($v) {  return $v + $v;}foo(5, 'f1'); //02468
ログイン後にコピー
ログイン後にコピー


ここの f1 関数がパラメータを渡さずに呼び出せる理由をモデレーターに聞いてください
そして、この関数が最初の関数にどのような影響を与えるのか

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート