Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov

Функции в PHP

Если Вы хотите узнать подробное описание с примером конкретной PHP функции, укажите её в строке поиска →

В PHP существует две основные формы функций: встроенные и пользовательские.

Для определения пользовательской функции используется ключевое слово function.

Пример 1

<html>
<head>
<title>Определение и вызов функции</title>
</head>
<body>
<?php
function заголовок ($str, $n)
{
  echo  "<h$n>$str</h$n>";
}
заголовок ("Часть", 1);
заголовок ("Глава", 2);
заголовок ("Раздел", 3);
?>
</body>
</html>

Начиная с версии PHP 4.0 можно использовать значения аргументов, подставляемые по умолчанию.

Пример 2

<html>
<head>
<title>Функция со значением аргумента по умолчанию</title>
</head>
<body>
<?php
function заголовок ($str, $n = 2)
{
  echo  "<h$n>$str</h$n>";
}
заголовок ("Часть", 1);
заголовок ("Глава");
заголовок ("Раздел", 3);
?>
</body>
</html>
РЕЗУЛЬТАТ ПРИМЕРОВ 1-2:

Часть

Глава

Раздел

Примечание: Указанный ниже код будет отрабатывать не так, как Вы возможно ожидаете. Переменная $full во всех случаях будет true.

fun($ar, false);
function fun($row, $full = true){ ... }

Передача аргумента по ссылке

Аргументы можно передавать по ссылке. Тогда все изменения, сделанные с аргументом в теле функции, отразятся на самой переменной.

Пример 3

<html>
<head>
<title>Передача аргумента по ссылке</title>
</head>
<body>
<?php
function add ( &$a, $b )
{
  $a += $b;
  $b += $b;
}
$af = 10;
$bf = 6;
echo "af = $af; bf = $bf";
add ( $af, $bf );
echo "<br>После вызова функции:<br>";
echo "af = $af; bf = $bf";
?>
</body>
</html>
РЕЗУЛЬТАТ ПРИМЕРА 3:
af = 10; bf = 6 После вызова функции: af = 16; bf = 6

Возврат значений

Для возврата значений из функции используется оператор return. Можно вернуть несколько значений, если применить список list().

Пример 4

<html>
<head>
<title>Функция, возвращающая список значений</title>
</head>
<body>
<?php
function ФИО()
{
  return array ("Иванов", "Иван", "Иванович");
}
list ($фамилия, $имя, $отчество) = ФИО();
echo "<table>";
echo "<tr><td>фамилия:</td><td>$фамилия</td></tr>";
echo "<tr><td>имя:</td><td>$имя</td></tr>";
echo "<tr><td>отчество:</td><td>$отчество</td></tr>";
echo "</table>";
?>
</body>
</html>
РЕЗУЛЬТАТ ПРИМЕРА 4:
фамилия:Иванов
имя:Иван
отчество:Иванович

Динамические функции

В PHP можно использовать динамические функции. Это означает, что если некоторой переменной присвоено имя функции, то с этой переменной можно обращаться точно так же, как с самой функцией.

Пример 5

<html>
<head>
<title>Переменные функции</title>
</head>
<body>
<?php
function funct1()
{
	echo "Мы внутри функции funct1( );<br>";
}
function funct2()
{
	echo "Мы внутри функции funct2( );<br>";
}
$myfunct = "funct1";
$myfunct();
$myfunct = "funct2";
$myfunct();
?>
</body>
</html>
РЕЗУЛЬТАТ ПРИМЕРА 5:
Мы внутри функции funct1( ); Мы внутри функции funct2( );

Глобальные переменные

Чтобы переменная, созданная вне функции, была доступна внутри функции, надо объявить ее глобальной с помощью инструкции global.

Пример 6

<html>
<head>
<title>Доступ к глобальной переменной</title>
</head>
<body>
<?php
$gg = 45;
function funct ()
{
	global $gg;
	echo "Глобальная переменная имеет значение - $gg";
}
funct ();
?>
</body>
</html>
РЕЗУЛЬТАТ ПРИМЕРА 6:
Глобальная переменная имеет значение - 45

Статические переменные

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

Пример 7

<html>
<head>
<title>Сохранение значения переменной между вызовами функции</title>
</head>
<body>
<?php
function funct (&str)
{
	static $ss = 0;
	$ss++;
	echo "<h2>$ss. $str</h2>";
}
funct ("Понедельник");
echo "Король гулял в парке";
funct ("Вторник");
echo "Король охотился";
?>
</body>
</html>

Была создана и проинициализирована переменная $ss. По отношению к функции funct( ) эта переменная останется локальной. При втором и последующих вызовах функции funct( ) инициализация игнорируется, а запоминается последнее присвоенное значение.

РЕЗУЛЬТАТ ПРИМЕРА 7:

1. Понедельник

Король гулял в парке

2. Вторник

Король охотился

Читать дальше: Cтроки в PHP


.