ホームページ  >  記事  >  バックエンド開発  >  PHP の学習方法: call_user_func と call_user_func_array の使用方法

PHP の学習方法: call_user_func と call_user_func_array の使用方法

WBOY
WBOYオリジナル
2016-06-13 12:01:21995ブラウズ

PHP の学習方法: call_user_func と call_user_func_array の使用方法

call_user_func ( コールバック $function [, 混合 $parameter [, 混合 $... ]] )

最初のパラメーターで提供されるユーザー定義関数を呼び出します。
戻り値: 関数の呼び出し結果、または FALSE を返します。


Php コード PHP の学習方法: call_user_func と call_user_func_array の使用方法
  1. function Eat($fruit) //パラメータ複数の
  2. {
  3. echo 「$fruit を食べたいのですが、問題ありません";
  4. }
  5. call_user_func('eat', "apple" ); //print: リンゴを食べたいのですが、問題ありません;
  6. call_user_func('eat', "オレンジ"); //print: オレンジを食べたいのですが、問題ありません;
  7. ?>
<span style="color:rgb(0,0,187)"> </span><span style="color:rgb(0,0,187)"></span>


クラスの内部メソッドを呼び出します:

Php コード
PHP の学習方法: call_user_func と call_user_func_array の使用方法
  1. class myclass {
  2. 関数 say_hello($name)
  3. {
  4. echo "こんにちは!$name";  
  5. }
  6. }
  7. $classname = "myclass"
  8. // クラス内の関数を呼び出すには、配列 array (クラス名、メソッド名) を使用する必要があります
  9. call_user_func(
  10. array($classname, 'say_hello'), 'dain_sun'); 🎜 >
  11. //print こんにちは! dain_sun
  12. ?>
  13. <span style="color:rgb(0,0,187)"></span>
<span style="color:rgb(0,0,187)"><br><br></span>call_user_func_array 関数は call_user_func と非常に似ていますが、次の点が異なります。配列を使用して、パラメーターの構造を明確にするためにパラメーター フォームを渡します。 >callbac

k

$function , array $param_arr ) ユーザー定義関数を呼び出します。パラメーターは配列の形式です。 戻り値: 関数の呼び出し結果、または FALSE を返します。 Php コード

  1. function debug($ var, $val)
  2. {
  3. echo "変数: $var
    値: $val
    "
    ;  
  4. エコー "
    "
    ;  
  5. }
  6. $host = $_SERVER ["サーバー名"]; "];
  7. call_user_func_array( 'debug',
  8. array
  9. ( "host",
  10. $host
  11. )); call_user_func_array( 'デバッグ', array("file",
  12. $file
  13. )); > >?>
  14. の内部メソッドを呼び出します。 class 関数と call_user_func 関数は、配列を使用して同じ方法で呼び出されます。
  15. 例:
  16. Php コード

  1. クラス テスト
  2. {
  3. 関数 debug($var, $val)
  4. {
  5. echo "変数: $var
    値: $val
    "
    ;  
  6. エコー "
    "
    ;  
  7. }
  8. }
  9. $host = $_SERVER["SERVER_NAME"];
  10. $file = $_SERVER["PHP_SELF"];
  11. call_user_func_array(
  12. array('テスト', 'デバッグ'), array("host", $host));
  13. call_user_func_array(
  14. array( 'test', 'debug'), array("file", $file));
  15. ?>
<span style="color:rgb(0,0,187)"></span>

<span style="color:rgb(0,0,187)"><strong><br><span style="color:rgb(255,0,0)"><br></span></strong></span>

注: call_user_func 関数と call_user_func_array 関数は両方とも参照をサポートしています。
PHP の学習方法: call_user_func と call_user_func_array の使用方法Php コード
  1. function increment(&$var)
  2. {
  3. $var++;  
  4. }
  5. $a = 0;  
  6. call_user_func('increment',$a);  
  7. エコー $a// 0
  8. call_user_func_array('increment',array(&$a)); // 代わりにこれを使用できます
  9. echo $a// 1
  10. ?>  
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。