Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Урок - Основы про функции




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

Синтаксис:

1.<?php

2.function ИмяФункции (аргумент1[=значение1], …, аргументN[=значениеN]) {

3.команды;

4.(Или вложенная функция);

5.}

6.?>

Синтаксис вызова функции:

1.<?php

2.ИмяФункции (аргумент1[=значение1], …, аргументN[=значениеN]);

3.?>

Функцию можно вызывать бесконечное количество раз!

Простой пример:

01.<?php

02.// Описание функции

03.function sayHello(){

04.echo "Hello, world!";

05.}

06.

07.// Вызов функции

08.sayHello(); // Hello, world!

09.sayHello(); // 2 раз

10.?>

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

Пример:

01.<?php

02.// Описание функции

03.function sayHello($name){

04.echo 'Привет - '.$name;

05.}

06.

07.// Вызов функции

08.sayHello('Вова');

09.?>

В данном примере мы передали функции что переменная $name равна “Вова”.

Можно в вызове функции использовать переменные, а не сразу значение переменной. Точнее нужно :-)

Пример:

01.<?php

02.// Описание функции

03.function sayHello($name){

04.echo 'Привет - '.$name;

05.}

06.

07.// Вызов функции

08.

09.$my_name = 'Дима';

10.sayHello($my_name);

11.

12.?>

Есть и третий вариант. Он редко используется, но знать о нем надо.

01.<?php

02.// Описание функции

03.function sayHello($name){

04.echo 'Привет - '.$name;

05.}

06.

07.// Вызов функции

08.

09.$my_name = 'Дима';

10.$str = 'sayHello';

11.$str($my_name);

12.?>

В данном примере имя функции засунуто в переменную. И уже эта переменная ведет себя как функция! Почему так получается? Когда php доходит до символов $str( Он понимает что от него требуется вызвать функцию, Следовательно он идет к этой переменной и смотрит что там. А там название функции. Он ищет в коде функцию с этим названием и вызывает ее. Это очень важный момент его надо просто понять.

Еще один важный момент. Количество параметр передаваемых может быть неограниченное число. А разделаются они запятыми. Пример:

01.<?php

02.// Описание функции

03.function sayHello($hello,$name){

04.echo $hello.' - '.$name;

05.}

06.

07.// Вызов функции

08.

09.$my_name = 'Дима';

10.$my_hello = 'Привет';

11.sayHello($my_hello,$my_name);

12.?>

В данном примере передается два параметра. А что будет? Если я в выводе вместо :



1.<php

2.sayHello($my_hello,$my_name);

3.// Привет - Дима

4.?>

Напишу :

view source

print?

1.<php

2.sayHello($my_name, $my_hello);

3.?>

Давайте теперь передадим какой-нибудь параметр. То есть если посмотреть выше на синтаксис функции. То в круглых скобочках как раз таки и передаются параметры функции.

А будет “Дима – Привет”. Почему так происходит? А потому что передача в функцию осуществляется по порядку!!!

Еще один важный момент!!! Что будет, если мы вдруг не передадим параметр функции? Пример такого кода:

01.<?php

02.// Описание функции

03.function sayHello($name){

04.echo 'Привет - '.$name;

05.}

06.

07.// Вызов функции

08.sayHello();

09.?>

А получу я ошибку:

1.

2.Warning: Missing argument 1 for sayHello()

3.

Нам php говорит, мол нет аргумента. Как быть? Живой пример. У нас например, система приветствия на сайте. И нам должно по логике вещей, если эта не зарегистрированный пользователь показать надпись “Привет Гость”. Для этих целей есть такая штука как параметр по умолчанию. Задается он в круглых скобках самой функции. Пример правильной записи:

01.<?php

02.// Описание функции

03.function sayHello($name='Гость'){

04.echo 'Привет - '.$name;

05.}

06.

07.// Вызов функции

08.sayHello(); // Привет - Гость

09.?>

В данном пример мы не передали аргумент , но выставили аргумент по умолчанию:

Давайте теперь передадим:

01.<?php

02.// Описание функции

03.function sayHello($name='Гость'){

04.echo 'Привет - '.$name;

05.}

06.

07.// Вызов функции

08.$user = 'Вова';

09.sayHello($user);

10.?>

Это основы про функции. Уроков на эту тему еще будет много.


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал