Memory App

Variable Scope

PHP has three variable scopes: the global scope, function scope, and class scope. (1/3)

Variable-length Argument Lists

You can create a function that accepts a variable number of arguments, depending on the circumstance.

function sumOfInts(int ...$ints)
    return array_sum($ints);

echo sumOfInts(1, 2, 3); // 6
A typical example of this behaviour is exhibited by the printf() family of functions.

echo sprintf("%s %s is %d old", "John", "Smith", 10);

// Outputs: John Smith is 10 old

Argument lists count

PHP provides three built-in functions to handle variable-length argument lists: func_num_args(), func_get_arg(), func_get_args()

function myArray() 
    $arr = array(); $i = 0;

    if (func_num_args() == 0) {
        $arr[] = "Hello World";

    if (func_num_args() > 0) {

        while($i < func_num_args()) {
            $arr[] = "Hello " . func_get_arg($i++);

    return $arr;

print_r(myArray()); // [Hello World]

print_r(myArray("John", "Mary")); // [Hello John, Hello Mary]
It is rather important to keep in mind that variable-length argument lists are full of potential pitfalls. While they are very powerful, they do tend to make your code confusing.


Top Reference > Programming