Today we use this couple of built-in functions to log in to check
Func_num_args () returns the number of incoming arguments to the calling function, the type is an integral type
Func_get_arg () returns the specified parameter value
Func_get_args () returns the value of all parameters, type is an array
Func_get_args
Returns an array containing a list of function arguments
Describe
Array Func_get_args (void)
This function returns an array of elements that are equivalent to the parameters of the current user-defined function. If you call this function from outside the function definition, Func_get_args () will produce a warning.
Func_get_arg
Returns the specified argument from the function argument list
Describe
Mixed func_get_arg (int arg_num)
Returns the Arg_num parameter of the parameter list that defines the function, starting with a parameter of 0. and calling this function outside of the function definition generates a warning and returns false when the Arg_num is greater than the number of arguments actually passed by the function.
--------------------------------------------------------------------------------
Func_num_args
Returns the number of arguments passed to a function
Describe
int Func_num_args (void)
This function returns the number of arguments passed to the currently defined function. If you call this function from outside the function definition, Func_num_args () will produce a warning.
Func_num_args () can be used to combine Func_get_arg () and Func_get_args () to allow a user-defined function to accept a variable-length argument list. When we build PHP classes, we use these three functions flexibly, which can be very desirable, for example, when creating PHP and MySQL linked classes outside, you can write the following code:
The code is as follows |
Copy Code |
<?php Class mydb{ Private $user; Private $pass; Private $host; Private $db; Public Function __construct () { $num _args=func_num_args (); if ($num _args>0) { $args =func_get_args (); $this->host= $args [0]; $this->user= $args [1]; $this->pass= $args [2]; This->connect (); } } ........ ?> |
Here is an example in the manual:
code is as follows |
copy code |
<?php function foo () { $numargs = func_num_ Args (); echo "Number of arguments: $numargs <br/>n"; if ($numargs >= 2) { echo "Second argument is:" . Func_get_arg (1). "<br/>n"; } $arg _list = Func_get_args (); for ($i = 0; $i < $numargs; $i + +) { echo argume NT $i is: ". $arg _list[$i]. "<br/>n"; } } Foo (1, 2, 3); |
Output:
Number of arguments:3
Second argument is:2
Argument 0 is:1
Argument 1 is:2
Argument 2 is : 3