Html php результат функции

Руководство по функциям в PHP

Функция — это автономный блок кода, который выполняет определенную задачу.

PHP имеет огромную колличество внутренних или встроенных функций, которые вы можете вызывать непосредственно в своих PHP-скриптах для выполнения конкретной задачи, например gettype() , print_r() , var_dump и т. д.

Пожалуйста, ознакомьтесь с разделом справки по PHP, чтобы получить полный список полезных встроенных функций PHP.

Пользовательские функции PHP

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

  • Функции сокращают повторение кода в программе — функция позволяет выделить часто используемый блок кода в один компонент. Теперь вы можете выполнять ту же задачу, вызывая эту функцию в любом месте скрипта, не копируя и вставляя один и тот же блок кода снова и снова.
  • Функции значительно упрощают обслуживание кода — поскольку функция, созданная один раз, может использоваться много раз, любые изменения, внесенные внутри функции, автоматически внедряются во всех местах, не затрагивая несколько файлов.
  • Функции упрощают устранение ошибок — когда программа подразделяется на функции, при возникновении какой-либо ошибки вы точно знаете, какая функция вызывает ошибку и где ее найти. Таким образом, исправлять ошибки становится намного проще.
  • Функции могут быть повторно использованы в другом приложении — поскольку функция отделена от остальной части скрипта, ее легко повторно использовать в других приложениях, просто включив файл .php , содержащий эти функции.
Читайте также:  Хэш от файла питон

В этом разделе мы узнаем, как создать свою собственную функцию в PHP.

Создание и вызов функций

Базовый синтаксис создания пользовательской функции может быть задан следующим образом:

Объявление пользовательской функции начинается со слова function , за которым следует имя функции, которую вы хотите создать, после нее круглые скобки, т.е. () , и, наконец, сам код вашей функции должен быть расположен между фигурными скобками <> .

Вот простой пример пользовательской функции, отображающей сегодняшнюю дату:

 // Вызываем функцию whatIsToday(); ?>

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

Функции с параметрами

Вы можете указать параметры, когда определяете свою функцию для приема входящих значений во время выполнения. Параметры работают как переменные-заполнители внутри функции; они заменяются во время выполнения функции значениями (называемыми аргументами).

function myFunc($oneParameter, $anotherParameter) < // Код для выполнения >

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

Функция getSum() в следующем примере принимает в качестве аргументов два целочисленных значения, просто складывает их вместе и затем отображает результат в браузере.

 // Вызываем функцию getSum(10, 20); // Выводит: 30 ?>

Аргумент — это значение, которое вы передаете функции, а параметр — это переменная внутри функции, которая получает аргумент. Однако в обычном использовании эти термины взаимозаменяемы.

Функции с дополнительными параметрами и значениями по умолчанию

Вы также можете создавать функции с необязательными параметрами — просто вставьте имя параметра, затем знак равенства ( = ) и значение по умолчанию, как здесь:

em;\">Hello, world!

"; > // Вызываем функцию customFont("Arial", 2); customFont("Times", 3); customFont("Courier"); ?>

Как видите, третий вызов customFont() не включает второй аргумент. Это заставляет механизм PHP использовать значение по умолчанию для параметра $size , равное 1,5.

Возврат значений из функции

Функция может вернуть значение скрипту, который вызвал функцию, используя оператор return . Значение может быть любого типа, включая массивы и объекты.

 // Печатаем возвращенное значение echo getSum(5, 10); // Выводит: 15 ?>

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

 // Назнаем переменные, как если бы они были массивом list($dividend, $divisor, $quotient) = divideNumbers(10, 2); echo $dividend; // Выводит: 10 echo $divisor; // Выводит: 2 echo $quotient; // Выводит: 5 ?>

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

В PHP есть два способа передать аргументы функции: по значению (value) и по ссылке (reference). По умолчанию аргументы функции передаются по значению, поэтому, если значение аргумента внутри функции изменяется, оно не затрагивается за пределами функции. Однако, чтобы функция могла изменять свои аргументы, они должны передаваться по ссылке.

Передача аргумента по ссылке выполняется путем добавления амперсанда ( & ) к имени аргумента в определении функции, как показано в примере ниже:

 $mynum = 5; echo $mynum; // Выводит: 5 selfMultiply($mynum); echo $mynum; // Выводит: 25 ?>

Понимание области переменной

Вы можете объявить переменные где угодно в PHP-скрипте. Но расположение объявления определяет степень видимости переменной в PHP-программе, т.е. где переменная может быть использована или доступна. Эта доступность известна как область видимости переменных (variable scope).

По умолчанию переменные, объявленные внутри функции, являются локальными, и их нельзя использовать и управлять извне, как показано в примере ниже:

 test(); // Выводит: Hello World! echo $greet; // Выводит ошибку undefined variable error ?>

Точно так же, если вы попытаетесь получить доступ или импортировать внешнюю переменную внутри функции, вы получите ошибку неопределенной переменной, как показано в примере:

 test(); // Выводит ошибку undefined variable error echo $greet; // Выводит: Hello World! ?>

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

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

Ключевое слово global

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

 test(); // Выводит: Hello World! echo $greet; // Выводит: Hello World! // Присваиваем новое значение переменной $greet = "Goodbye"; test(); // Выводит: Goodbye echo $greet; // Выводит: Goodbye ?>

Вы узнаете больше о видимости и управлении доступом в Руководстве по классам и объектам в PHP.

Создание рекурсивных функций

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

В следующем примере показано, как работает рекурсивная функция.

 /* Перебираем массив, если значение само по себе является массивом, рекурсивно вызываем эту же функцию; функция else добавляет найденное значение в новый массив элементов $items, и увеличивать счетчик на 1 для каждого найденного значения */ foreach($arr as $a) < if(is_array($a))< printValues($a); >else < $items[] = $a; $count++; >> // Возвращаем общее количество и значения, найденные в массиве return array('total' => $count, 'values' => $items); > // Определяем вложенный массив $species = array( "birds" => array( "Eagle", "Parrot", "Swan" ), "mammals" => array( "Human", "cat" => array( "Lion", "Tiger", "Jaguar" ), "Elephant", "Monkey" ), "reptiles" => array( "snake" => array( "Cobra" => array( "King Cobra", "Egyptian cobra" ), "Viper", "Anaconda" ), "Crocodile", "Dinosaur" => array( "T-rex", "Alamosaurus" ) ) ); // Считаем и печатаем значения во вложенном массиве $result = printValues($species); echo $result['total'] . ' value(s) found: '; echo implode(', ', $result['values']); ?>

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

skillbox banner 480x320 kwork banner 480x320 flexbe banner 480x320

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 4 / 5. Количество оценок: 4

Оценок пока нет. Поставьте оценку первым.

Похожие посты

Руководство по загрузке файлов на сервер в PHP

В этом руководстве мы узнаем, как загружать файлы на удаленный сервер с помощью простой HTML-формы и PHP. Вы можете загружать файлы любого типа, например изображения, видео, ZIP-файлы, документы Microsoft Office, PDF-файлы, а также исполняемые файлы и множество других типов файлов. Шаг 1. Создание HTML-формы для загрузки файла В следующем примере будет создана простая HTML-форма, которую…

Руководство по GET и POST запросам в PHP

Веб-браузер связывается с сервером, как правило, с помощью одного из двух HTTP-методов (протокола передачи гипертекста) — GET и POST. Оба метода передают информацию по-разному и имеют разные преимущества и недостатки, как описано ниже. PHP-метод GET В методе GET данные отправляются в виде параметров URL, которые обычно представляют собой строки пар имени и значения, разделенные амперсандами…

Список сообщений об ошибках в PHP

Обычно, когда движок PHP сталкивается с проблемой, препятствующей правильной работе скрипта, он генерирует сообщение об ошибке. Существует шестнадцать различных уровней ошибок, и каждый уровень представлен целым числом и связанной с ним константой. Вот список уровней ошибок: Название Значение Описание E_ERROR 1 Неустранимая ошибка времени выполнения от которой невозможно избавиться. Выполнение скрипта немедленно прекращается E_WARNING 2…

Разработка сайтов для бизнеса

Если у вас есть вопрос, на который вы не знаете ответ — напишите нам, мы поможем разобраться. Мы всегда рады интересным знакомствам и новым проектам.

Источник

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

Значения возвращаются при помощи необязательного оператора возврата. Возвращаемые значения могут быть любого типа, в том числе это могут быть массивы и объекты. Возврат приводит к завершению выполнения функции и передаче управления обратно к той строке кода, в которой данная функция была вызвана. Для получения более детальной информации ознакомьтесь с описанием return .

Замечание:

Если конструкция return не указана, то функция вернет значение NULL .

Использование выражения return

Пример #1 Использование конструкции return

Функция не может возвращать несколько значений, но аналогичного результата можно добиться, возвращая массив.

Пример #2 Возврат нескольких значений в виде массива

function small_numbers ()
return array ( 0 , 1 , 2 );
>
list ( $zero , $one , $two ) = small_numbers ();
?>

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

Пример #3 Возврат результата по ссылке

Для получения более детальной информации о ссылках обратитесь к разделу документации Подробно о ссылках.

Объявление типов возвращаемых значений

В PHP 7 добавлена возможность объявлять тип возвращаемого значения. Аналогично объявлению типов аргументов можно задать тип значения, которое будет возвращаться функцией. Типы, которые можно объявить для возвращаемых значений те же, что и для аргументов фукнций.

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

Замечание:

Если переопределяется родительский метод, возвращаемое значение дочернего метода должно быть того же типа, что и родительского. Если в родительском методе не задан тип возвращаемого значения, то и дочерний метод этот тип может не объявлять.

Примеры

Пример #4 Обычное объявление типа возвращаемого значения

// Будет возвращаться значение типа float.
var_dump ( sum ( 1 , 2 ));
?>

Результат выполнения данного примера:

Пример #5 То же в режиме строгой типизации

function sum ( $a , $b ): int return $a + $b ;
>

var_dump ( sum ( 1 , 2 ));
var_dump ( sum ( 1 , 2.5 ));
?>

Результат выполнения данного примера:

int(3) Fatal error: Uncaught TypeError: Return value of sum() must be of the type integer, float returned in - on line 5 in -:5 Stack trace: #0 -(9): sum(1, 2.5) #1 thrown in - on line 5

Пример #6 Возврат объектов

function getC (): C return new C ;
>

Результат выполнения данного примера:

Источник

Оцените статью