ホームページ > バックエンド開発 > PHPチュートリアル > 関数を名前で呼び出してパラメータを渡す方法を教えてください。

関数を名前で呼び出してパラメータを渡す方法を教えてください。

WBOY
リリース: 2016-06-23 14:13:52
オリジナル
984 人が閲覧しました

call_user_func_array にパラメータを渡すと、

call_user_func_array を使用して既知の名前の関数を呼び出しますが、インスタンス化されたクラスを呼び出すことはできません...
	class class_a	{		public $var_a	= 0;				public function fun_1 ( $var )		{			var_dump( $this->var_a + $var );		}	};		$obj_a	= new class_a();	$obj_a->var_a	= 6;		call_user_func_array( array( 'class_a', 'fun_1' ), array( 5 ) );
ログイン後にコピー

これは 2 つのエラーを報告します。1 つは call_user_func_array が非静的メソッドを呼び出すというもので、2 つはこれはインスタンス化されていないクラスでは出現できないということです
実際、call_user_func_array のこれら 2 つのエラーは簡単に理解できます...
それから、関数名を使用してインスタンス化されたクラスのメンバー関数を呼び出し、不定の数値を渡す別の方法もありますパラメーターの数...


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

	class class_a	{		public $var_a	= 0;				public function fun_1 ( $var )		{			var_dump( $this->var_a + $var );		}	};		$obj_a	= new class_a();	$obj_a->var_a	= 6;		call_user_func_array( array($obj_a, 'fun_1' ), array( 5 ) );
ログイン後にコピー


こうやって見てみましょう

行かせてください... それはまさにこのようなものです...
上の階で答えてくれてありがとう...
説明書を深く読まなかった私のせいです...頭の使い方がわかりません... 見直す価値があります

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