PHP の関数呼び出しは Java/C/C と同じで、関数名(パラメータリスト)を渡すだけです。
図に示すように: (推奨学習: PHP プログラミングの入門から習熟まで )
2 つあります。画像内の場所は関数呼び出しです。先頭の session_start() は呼び出される PHP 関数です。 validate_user($username, $password) は同じ方法で呼び出されるユーザー定義関数です。
PHP 関数を呼び出すさまざまな方法
<?php // 最常见的函数调用 --- 1 function userFunction1($param1, $param2){ echo 'UserFunction1: Param1 : ',$param1,' , Param2 : ',$param2,'<br/>'; } userFunction1('Hello','world'); // 最常见的函数调用 --- 2 $userFunction2 = function($param1, $param2){ echo 'UserFunction2: Param1 : ',$param1,' , Param2 : ',$param2,'<br/>'; }; $userFunction2('Hello', 'PHP'); // 作为回调函数的函数调用 --- 1 function funcWithCallback1($callback, $param1, $param2){ echo 'funcWithCallback1 : '; if(is_callable($callback)) $callback($param1, $param2); } funcWithCallback1($userFunction2,'Hello','world'); // 作为回调函数的函数调用 --- 2 call_user_func function funcWithCallback2($callback, $param1, $param2){ echo 'funcWithCallback2 : '; if(is_callable($callback)) call_user_func($callback, $param1, $param2); } funcWithCallback2($userFunction2,'Hello','world'); // 一个函数调用示例: 以 用户注册,修改密码为例 $function_pool = array( 'regist' => array( 'validateUsername' => function($username){ return (strtolower($username) !== 'admin') ? true : false; }, 'addUser' => function($username, $password){ $user[$username] = $password; echo 'Add user Ok'; return $user; } ), 'updatePass' => array( 'validatePassword' => function($username, $password, $user){ return (is_array($user) && array_key_exists($username, $user) && $user[$username] == $password); }, 'setPassword' => function($username, $password, $user){ $user[$username] = $password; return $user; } ) ); function regist($function_pool, $username, $password){ if(isset($function_pool) && isset($function_pool['regist'])){ if(isset($function_pool['regist']['validateUsername']) && $function_pool['regist']['validateUsername']($username)){ return $function_pool['regist']['addUser']($username, $password); }else{ return 'User exists or Uniligel '; } } } $user = regist($function_pool, 'Guojunzhou', 'sanyue'); echo '<pre class="brush:php;toolbar:false">'; print_r($user); echo ''; function updatePass($function_pool, $username, $password, $newPass, $user){ if(isset($function_pool) && isset($function_pool['updatePass'])){ if(isset($function_pool['updatePass']['validatePassword']) && $function_pool['updatePass']['validatePassword']($username, $password, $user)){ return $function_pool['updatePass']['setPassword']($username, $newPass, $user); } } } $user = updatePass($function_pool, 'Guojunzhou', 'sanyue', '123456', $user); echo '
'; print_r($user); echo ''; ?>
以上がPHPで関数を呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。