|
Learn PHP to call functions through strings.
1. Call_user_func
- function A ($b, $c) {
- Echo $b;
- Echo $c;
- }
- Call_user_func (' A ', "111", "222");
- Call_user_func (' A ', "333", "444");
- Display 111 222 333 444
- ?>
Copy Code
call the method inside the class is rather strange, incredibly using an array, do not know how developers think, of course, save new, is full of innovative:
- Class A {
- Function B ($c) {
- Echo $c;
- }
- }//Www.jbxue.com
- Call_user_func (Array ("A", "B"), "111");
- Showing 111
- ?>
Copy Code
2. Call_user_func_array
The Call_user_func_array function is similar to the Call_user_func, except that the parameter is passed in a different way, allowing the structure of the parameter to be clearer:
- function A ($b, $c) {
- Echo $b;
- Echo $c;
- }
- Call_user_func_array (' A ', Array ("111", "222"));
- Showing 111 of 222
- ?>
Copy Code
The Call_user_func_array function can also invoke methods within the class.
- Class classa{
- function BC ($b, $c) {
- $BC = $b + $c;
- Echo $BC;
- }
- }//Www.jbxue.com
- Call_user_func_array (Array (' ClassA ', ' BC '), Array ("111", "222"));
- Showing 333
- ?>
Copy Code
Both the Call_user_func function and the Call_user_func_array function support references, which makes them more functionally consistent with normal function calls:
- Function A (& $b) {
- $b + +;
- }
- $c = 0;
- Call_user_func (' A ', & $c);
- echo $c;//Display 1
- Call_user_func_array (' A ', Array (& $c));
- echo $c;//Display 2
Copy Code |