PHP: использование нескалярных типов в качестве значений по умолчанию в функциях

В PHP вы можете использовать нескалярные типы, такие как массивы или объекты, в качестве значений по умолчанию для параметров функции. Вот несколько методов с примерами кода:

  1. Использование пустого массива в качестве значения по умолчанию:

    function processArray($data = []) {
    // Process the array
    print_r($data);
    }
    // Calling the function without passing an argument
    processArray();

    В этом примере, если вы вызываете функцию processArray()без передачи аргумента, пустой массив будет использоваться в качестве значения по умолчанию для параметра $data.

  2. Использование объекта в качестве значения по умолчанию:

    class Person {
    public $name;
    public $age;
    }
    function processPerson(Person $person = null) {
    // Process the person object
    if ($person) {
        echo $person->name . ' is ' . $person->age . ' years old.';
    } else {
        echo 'No person provided.';
    }
    }
    // Calling the function without passing an argument
    processPerson();

    В этом примере функция processPerson()ожидает объект Personв качестве параметра. Если аргумент не указан, nullиспользуется как значение по умолчанию.

  3. Использование нескалярного типа с определенным значением по умолчанию:

    function greet($name = 'Guest') {
    echo 'Hello, ' . $name . '!';
    }
    // Calling the function without passing an argument
    greet();

    В этом примере, если вы вызываете функцию greet()без передачи аргумента, строка 'Guest'будет использоваться в качестве значения по умолчанию для $name.