Функции


Аргументы функции

PHPoC поддерживает передачу значений по умолчанию, передачу посредством ссылки и значение аргументов по умолчанию.

<?php

function func($arg1, $arg2)  // pass by value
{
  $temp = $arg1;
  $arg1 = $arg2;
  $arg2 = $temp;
  return $arg1 + 1;
}
$var1 = 1;
$var2 = 2;
func($var1, $var2);          // function call
echo "$var1, $var2";         // $var1 and $var2 are not swapped

?>
[result]  
1, 2
  • Передача посредством ссылки
    При передаче агрументов по ссылке, адрес памяти агрумента передаетсчя вместо значения. Таким образом, если значение аргумента внутри функции изменяется, изменения происходят также и вне функции.
    Для того, аргумент функции всегда передавался по ссылке, добавьте амперсанд (&) перед именем аргумента в определении функции.
<?php

function func(&$arg1, &$arg2)  // pass by reference
{
  $temp = $arg1;
  $arg1 = $arg2;
  $arg2 = $temp;
  return $arg1 + 1;
}
$var1 = 1;
$var2 = 2;
func($var1, $var2);            // function call
echo "$var1, $var2";           // $var1 and $var2 are swapped

?>
[result]  
2, 1
  • Значения агрументов по умолчанию
    Функция может лпределять значения по умолчанию для скалярных аргументов следующим образом:
<?php

function print_str($str = "Hello PHPoC!\r\n")  // set default argument value
{
  echo $str;
}
print_str();                                   // call print_str() without argument

?>
[result]  
Hello PHPoC!