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

Тема, о которой вы спрашиваете, — «Значение параметров функции PHP по умолчанию». Вот несколько методов, которые вы можете использовать для установки значений по умолчанию для параметров функции в PHP:

  1. Метод 1: встроенное присвоение значения по умолчанию

    function myFunction($param1 = defaultValue1, $param2 = defaultValue2) {
       // Function body
    }
  2. Метод 2: использование функции func_get_args

    function myFunction() {
       $args = func_get_args();
       $param1 = isset($args[0]) ? $args[0] : defaultValue1;
       $param2 = isset($args[1]) ? $args[1] : defaultValue2;
       // Function body
    }
  3. Метод 3: условное присвоение

    function myFunction($param1, $param2 = null) {
       $param2 = $param2 ?? defaultValue2;
       // Function body
    }
  4. Метод 4: использование оператора объединения нулей (PHP 7+)

    function myFunction($param1, $param2 = null) {
       $param2 = $param2 ?? defaultValue2;
       // Function body
    }
  5. Метод 5: использование оператора объединения нулей (PHP 7.4+)

    function myFunction($param1, $param2 = null) {
       $param2 = $param2 ?: defaultValue2;
       // Function body
    }
  6. Метод 6: объявление типа и оператор объединения значений NULL (PHP 7.4+)

    function myFunction($param1, ?string $param2 = null) {
       $param2 = $param2 ?: defaultValue2;
       // Function body
    }
  7. Метод 7: использование функции extract

    function myFunction($params) {
       extract($params, EXTR_SKIP);
       $param1 = isset($param1) ? $param1 : defaultValue1;
       $param2 = isset($param2) ? $param2 : defaultValue2;
       // Function body
    }
  8. Метод 8. Использование ассоциативного массива

    function myFunction($params) {
       $defaults = [
           'param1' => defaultValue1,
           'param2' => defaultValue2,
       ];
       $params = array_merge($defaults, $params);
       extract($params, EXTR_SKIP);
       // Function body
    }

Обратите внимание, что важно выбрать метод, который лучше всего подходит для вашего конкретного случая использования и версии PHP.