Рубрики
Uncategorized

Как передать параметры функции PHP

Автор оригинала: David Wong.

При вызове функции в функцию необходимо передать параметры. Параметры, передаваемые в функцию, называются фактическими параметрами, в то время как параметры, определяемые функцией, называются формальными параметрами. Существует четыре способа передачи параметров функциям: передача значений, передача ссылок, параметр по умолчанию и параметр переменной длины.

1. Передача ценности

Передача значений-это метод передачи значений по умолчанию для функций в PHP, также известный как “передача значений копирования”. Как следует из названия, метод передачи значения скопирует значение фактического параметра, а затем передаст его формальному параметру функции, поэтому значение параметра операции в функции не повлияет на фактический параметр вне функции. Поэтому, если вы не хотите, чтобы функция изменяла значение аргумента, вы можете передать его по значению.

[пример] ниже определена простая функция. Функция имеет два параметра, и значения параметров обмениваются в функции.

php
  function swap($a, $b){
    In echo 'function, before exchange $a ='. $A. ', $B ='. $B. '< br >';
    $temp = $a;
    $a = $b;
    $b = $temp;
    In the echo 'function, after exchange $a =' $A. ', $B =' $B. '< br >';
  }

  $x = 5;
  $y = 7;
  In addition to the echo function, $x = '. $X.', $y = '. $y.' < br > ', before exchange;
  swap($x, $y);
  In addition to the echo function, $x = '. $X.', $y = '. $Y;
?>

Результаты заключаются в следующем

Функция, перед обменом и в функции, перед обменом и в функции, после обмена и функции, после обмена и

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

2. Передача ссылок

Передача ссылки на параметр заключается в копировании адреса памяти фактического параметра, а затем передаче его формальному параметру функции. Как фактический параметр, так и формальный параметр указывают на один и тот же адрес памяти. Следовательно, работа функции с формальным параметром будет влиять на фактический параметр вне функции.

Передача по ссылке заключается в передаче адреса памяти аргумента формальному параметру функции. Таким образом, фактический параметр и формальный параметр указывают на один и тот же адрес памяти. В это время все операции внутри функции будут влиять на значение аргументов вне функции. Способ передачи ссылки заключается в добавлении символа & на основе передачи значения следующим образом:

Function name (& parameter 1, & parameter 2,..., & parameter 3){
  ...  
}

[пример] слегка измените код приведенного выше примера и передайте параметры функции swap по ссылке. Код выглядит следующим образом:

';
    $temp = $a;
    $a = $b;
    $b = $temp;
    In the echo 'function, after exchange $a =' $A. ', $B =' $B. '< br >';
  }

  $x = 5;
  $y = 7;
  In addition to the echo function, $x = '. $X.', $y = '. $y.' < br > ', before exchange;
  swap($x, $y);
  In addition to the echo function, $x = '. $X.', $y = '. $Y;
?>

Результаты заключаются в следующем

Функция, перед обменом и в функции, перед обменом и в функции, после обмена и функции, после обмена и

3. Параметры по умолчанию

Параметр по умолчанию предназначен для указания значения по умолчанию для одного или нескольких формальных параметров функции. Если соответствующее значение не передается при вызове функции, функция будет использовать это значение по умолчанию. Это может избежать ошибки отсутствия параметра при вызове, а также сделать некоторые программы более разумными. Если будет передан соответствующий параметр, значение по умолчанию будет заменено.

Аргументы по умолчанию для функции следующие:

Function name ($STR ='c language Chinese net ', $URL){
  echo $str; 
}

Среди них “китайская сеть языка Си” после формального параметра $STR является значением по умолчанию и необходима между формальным параметром и значением по умолчанию.

[пример] функция с параметрами по умолчанию определяется следующим образом:

';
  }
  add(11);
  add(37, 29);
?>

Результаты заключаются в следующем

11 + 37 +

Параметр по умолчанию также может быть множественным, и параметр по умолчанию должен быть размещен справа от параметра, отличного от параметра по умолчанию, а значение указанного параметра по умолчанию должно быть определенным значением, таким как число или строка, а не переменная.

[пример] функция с несколькими параметрами по умолчанию определяется следующим образом:

';
  }
  add(11);
  add(31, 22);
  add(64, 9, 7);
?>

Результаты заключаются в следующем

11 + 33 + 31 + 22 + 64 + 9 +

4. Параметр переменной длины

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

';
  test(1, 2, 3, 4);
  test(5, 6, 7, 8, 9, 10);
?>

Результаты заключаются в следующем

Массив ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) Массив ( [0] = > 5 [1] => 6 [2] => 7 [3] => 8 [4] => 9 [5] => 10 )

Эта статья о способе передачи параметров функций PHP представлена здесь. Для получения дополнительной информации о четырех способах передачи параметров функций PHP, пожалуйста, найдите предыдущие статьи разработчика или продолжайте просматривать следующие статьи по теме. Я надеюсь, что вы сможете больше поддерживать разработчиков в будущем!

Оригинал: “https://developpaper.com/how-to-pass-php-function-parameters/”