PHP functions Func_get_args (), Func_get_arg () and Func_num_args ()

Source: Internet
Author: User
Tags function definition php and php and mysql

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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.