Php урок 6, конец теории…

14 Май
2010

Я когда начинал писать этот курс, то кажется упоминал о том, что писать и объяснять буду исходя из своего личного опыта, делая упор на том, что сам тяжело постигал, что бы вам максимально упростить жизнь. Что это значит на практике? Поясню.

Если взять любую книгу для новичков, и начать читать, то порядок изложения будет приблизительно везде одинаков, а именно сначала на вас выльют кучу информации, потом посоветуют хорошенько ее запомнить, и… ба бах, книга закончена, взяли рассказали что есть, как можно и все. Дальше сами. Я и в свое время читал подобные книги, первые 10 страниц я понимал на ура, дальше начиналось уже что то не понятное, а не понял сразу мелочь, потом очень тяжело без нее, этой мелочи, обходиться. Поэтому мой курс будет немного по другому устроен, так как я считаю нужным, и новую информацию я буду давать по мере ее необходимости, а не по порядку следования. И это значит, что сегодня мы будем знакомится с функциями, что это такое, зачем нужны, и как их создавать.

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

С функциями мы уже встречались, это была функция — echo, да да это простая функция (на самом деле не простая, и уж если совсем по-честному то и не функция вовсе, а конструкция языка, но сейчас не об этом, и в контексте нашего урока мы можем говорить о том, что echo это функция). Надеюсь вы помните, что именно она делает и зачем вообще нужна.

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

Пример:

function blabla($inp)
{
$inp+=10;
$inp=100-$inp;
return $inp;
}

$a = 5;

$b=blabla($a);

echo $b;

Вот такой вот сложный пример, давайте разберем его:

function blabla($inp)
{
$inp+=10;
$inp=100-$inp;
return $inp;
}

Первой строкой: function blabla($inp); мы объявляем функцию, которая в качестве входного параметра принимает некую переменную $inp (функция может и не иметь каких либо входных параметров). Далее идет фигурная скобка “{“,  мы начинаем тело функции, после того как описана вся функция, она обязательно закрывается другой фигурной скобкой ”}”. Т.е. тело функции всегда! должно быть внутри фигурных скобок, иначе интерпретатор пхп не поймет, где у функции начало, а где конец.

$inp+=10;

если вы помните операторы, то догадались, что к входному параметру $inp мы добавляем число 10.

$inp=100-$inp;

Очень интересная строка, новичка она способна ввести в ступор, ведь сразу же и не понятно что тут происходит, как можно использовать $inp в качестве операнда, когда $inp‘у же и присваиваем какое то значение. Все достаточно просто, если взглянуть на команду которая будет выполнена, т.е. 100-$inp, на момент выполнения, $inp будет содержать какое то значении, которое и вычтетца из 100, и только потом произойдет присвоение. Понятно ?

return $inp;

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

function my_func($a)
{
$a+=100;
return $a;
$a+=200;
return $a;
}

Присваивание $a+=200; никогда не будет выполнено, т.к. после присваивания $a+=100; функция вернет какой то результат, и пхп дальше на тело функции смотреть не будет.
Теперь еще раз взглянем, на наш исходный пример, но уже с новыми знаниями:

function blabla($inp)
{
$inp+=10;
$inp=100-$inp;
return $inp;
}

$a = 5;

$b=blabla($a);

echo $b;

В начале идет функция, далее, переменной $b присваивается  результат работы этой функции, запущенной с параметром $a. И последняя строка выводит значение переменной на экран. Надеюсь вы все поняли. За сим я прекращаю ту часть обучения которая полностью состоит з теории, далее будут только примеры. к слову, вы можете присылать мне задачки, которые по тем или иным причинам не можете/не хотите/не умеете делать сами, а я, если сочту их интересными, сделаю из них очередной урок.

слов — 670, знаков: с пробелами — 4532, без пробелов — 3863
google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
Читайте так же:

Комментировать


Наверх