Функции с аргументами в php

Функции в php бывают без аргументов и с аргументами. Аргументы могут быть разными. Как вариант существует функция с аргументами в виде массивов. В этом случае никакого принципиального отличия не существует.
Пример:

[code]
<?php
function arr ($array)
{
for ($index = 0; $index < count($array); $index++)
{
echo "Элемент $index: ",$array[$index], "\n";
}
}
$b[0] = "байт";
$b[1] = "килобайт";
$b[2] = "мегабайт";
$b[3] = "гигабайт";
$b[4] = "терабайт";
arr($b);
?>
[/code]

Другой момент — функция в php с аргументами по умолчанию. Например:

[code]
<?php
function hello($text)
{
echo $text,"\n";
}
hello("Привет !!!");
?>
[/code]

Данная php функция вернет ошибку при вызове без параметров hello(); . Чтобы исправить такую ситуацию следует аргументу функции задать значение по умолчанию следующем путем:

[code]
<?php
function hello($text= Привет !!!")

?>
[/code]

Если задать явно аргумент функции, то значение по умолчанию не используется.

[code]
<?php
function hello($text= Привет !!!")

hello("Еще один привет!!!");
?>
[/code]

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

[code]
<?php
function st_add($text)
{
$text .="всем";
}
$my_str= "Привет ";
st_add($my_str);
?>
[/code]

Результат такой функции будет являться строка «Привет «. Исправить ситуацию можно при помощи передачи аргумента по ссылке. Для этого стоит ввести единственный символ «&»:

[code]
<?php
function st_add(&$text)
{
$text .="всем";
}
$my_str= "Привет ";
st_add($my_str);
?>
[/code]

В php также предусмотрена возможность функций с переменным количеством аргументов. Для этого в php предусмотрены три функции:
func_num_args — функция вернет количество аргументов функции;
func_get_arg — возвратит заданный аргумент функции;
func_get_args — вернет все аргументы функции как массив.
В php также есть функции, которые возвращают значение. Как и во многих языках программирования используется оператор возврата return:

[code]
<?php
function cube($a)
{
return $a*$a*$a;
}
?>
[/code]

Функция может содержать несколько операторов return. При этом выполнение оператора приводит к завершению обработки функции.

1 Star2 Stars3 Stars4 Stars5 Stars (1 голосов, средний:5,00 из 5)
Вы можете пропустить чтение записи и оставить комментарий. Размещение ссылок запрещено.
Оставить комментарий