Значения по умолчанию

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

    Значения по умолчанию

    Значениями по умолчанию разрешается указывать скалярные значения, массивы, объекты или специальный тип null ( с версии php81 )

    function makecoffee($types = array("капучино"), $coffeeMaker = NULL) { ....

    Источник: https://www.php.net/manual/ru/functions.arguments.php

    Списки аргументов переменной длины

    Списку параметров разрешается содержать оператор ..., чтобы показать, что функция принимает переменное количество аргументов. Переменная получит аргументы как массив
    Разрешается также добавлять перед оператором ... объявление типа
    Разрешается также передавать аргументы переменной длины по ссылке, для этого перед оператором ... указывают амперсанд (&)

    function sum(...$numbers) { $acc = 0; foreach ($numbers as $n) { $acc += $n; } return $acc; } #Оператор ... с типом function total_intervals($unit, DateInterval ...$intervals) {}

    Источник: https://www.php.net/manual/ru/functions.arguments.php

    Именованные аргументы

    Именованные аргументы передают в функцию на основе имени, а не позиции параметра
    Именованные аргументы передают по имени параметра, за которым идёт двоеточие и значение аргумента
    Разрешается комбинировать именованные аргументы с позиционными. Тогда именованные аргументы должны идти после позиционных. Разрешается также передавать только часть необязательных аргументов функции, независимо от порядка аргументов

    myFunction(paramName: $value); #Объединение именованных аргументов с позиционными аргументами htmlspecialchars($string, double_encode: false); #Пример передачи именованных аргументов после распаковки function foo($a, $b, $c = 3, $d = 4) { return $a + $b + $c + $d; } var_dump(foo(...[1, 2], d: 40)); // 46 var_dump(foo(...['b' => 2, 'a' => 1], d: 40)); // 46

    Источник: https://www.php.net/manual/ru/functions.arguments.php


    Источники
    Последнее изменение: 06.11.2024 22:29


    Связанные темы
    Здесь пока нет комментариев
    Добавлять комментарии могут только авторизованные пользователи

    Авторизоваться
    Я буду рекламой
    Я тоже буду рекламой
    И я
    ВВЕРХ