ホームページ > バックエンド開発 > PHPチュートリアル > call user func() 関数を使用して PHP でユーザー定義関数を呼び出す方法

call user func() 関数を使用して PHP でユーザー定義関数を呼び出す方法

墨辰丷
リリース: 2023-03-30 06:44:02
オリジナル
1499 人が閲覧しました

この記事では、PHP で call user func() 関数を使用してカスタム定義関数を呼び出す方法を主に紹介します。興味のある方はぜひ参考にしてください。

call_user_func関数は、関数を呼び出す特別なメソッドに似ています。使用方法は次のとおりです。

<?php
function nowamagic($a,$b) 
{ 
 echo $a; 
 echo $b; 
} 
call_user_func(&#39;nowamagic&#39;, "",""); 
call_user_func(&#39;nowamagic&#39;, "",""); 
//显示  
?>
ログイン後にコピー

実際に配列を使用しているのは奇妙です。もちろん、 new は省略されていますが、これも非常に革新的です:

<?php
class a { 
 function b($c) 
 { 
  echo $c; 
 } 
} 
call_user_func(array("a", "b"),""); 
//显示 
?>
ログイン後にコピー

call_user_func_array 関数は、パラメータの構造を明確にするために異なる方法でパラメータが渡されることを除いて、 call_user_func と非常によく似ています:

<?php
function a($b, $c) 
{ 
 echo $b; 
 echo $c; 
} 
call_user_func_array(&#39;a&#39;, array("", "")); 
//显示 
?>
ログイン後にコピー

call_user_func_array 関数は、クラス内のメソッドを呼び出すこともできます:

<?php
Class ClassA 
{ 
function bc($b, $c) { 
  $bc = $b + $c; 
echo $bc; 
} 
} 
call_user_func_array(array(&#39;ClassA&#39;,&#39;bc&#39;), array("", "")); 
//显示 
?>
ログイン後にコピー

call_user_func 関数と call_user_func_array 関数は両方とも参照をサポートしているため、通常の関数呼び出しとの機能の一貫性が高まります:

<?php
function a($b) 
{ 
 $b++; 
} 
$c = ; 
call_user_func(&#39;a&#39;, $c); 
echo $c;//显示 
call_user_func_array(&#39;a&#39;, array($c)); 
echo $c;//显示 
?>
另外,call_user_func函数和call_user_func_array函数都支持引用。
view sourceprint?
<?php
function increment(&$var)
{
 $var++;
}
$a = ;
call_user_func(&#39;increment&#39;, $a);
echo $a; // 
call_user_func_array(&#39;increment&#39;, array(&$a)); // You can use this instead
echo $a; // 
?>
ログイン後にコピー

以下では、call_user_func の使用方法を紹介します。カスタム関数を呼び出すには

call_user_func 関数を使用し、文字列関数を渡すことで、カスタム関数を呼び出して参照をサポートできます。

1.mixed call_user_func ( callable $callback [,mixed $parameter[,mixed $... ]] )

最初のパラメータで提供されるカスタム関数を呼び出します。次のパラメータはカスタム関数のパラメータです、カスタム関数の結果を返します

function say($word)
{
 echo $word;
}
call_user_func(&#39;say&#39;, &#39;hello world&#39;); //hello world
当然也可以调用类中的方法:
class A {
 function say($word = &#39;&#39;)
 {
  echo $word;
 }
} 
$a = new A(); //注意,必须是要实例化的,除非是static
call_user_func(array($a, &#39;say&#39;), &#39;hello world&#39;); //hello world
ログイン後にコピー

2.mixed call_user_func_array ( callable $callback , array $param_arr )

call_user_func_array と call_user_func の関数は同じですが、パラメーターを呼び出すときにいくつかの違いがあるとします:

function a($word)
{
 echo $word;
}
class A {
 function say($word = &#39;&#39;)
 {
  echo $word;
 }
}
call_user_func_array(&#39;a&#39;, array(&#39;hello world&#39;)); //hello world
$a = new A(); //注意,必须是要实例化的,除非是static
call_user_func_array(array($a, &#39;say&#39;), array(&#39;hello world&#39;)); //hello world
ログイン後にコピー

要約: この記事は以上です。記事の全内容が皆さんの学習に役立つことを願っています。

関連する推奨事項:

PHP メッセージキューの使用法と例

PHP セマフォの使用法と例

php の画像のスケーリングおよびシャーリング関数

以上がcall user func() 関数を使用して PHP でユーザー定義関数を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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