PHP уроки для начинающих

PHP уроки

  • Главная
  • PHP с чего начать?
  • Уроки PHP
  • Массивы
  • Функции
  • MySQL
  • Форум
Меню

  • PHP - с чего начать?
  • Уроки PHP
  • Функции
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • Галерея
  • Как здесь качать?
  • КНИГИ

Связаны

  • Косметика В Санкт-Петербурге - Магазин Профессиональной Косметики Для Волос. Израильская Косметика.

Что нового?
Как создать свой сайт? Урок третий.
Загрузка файлов
Регистрация PHP
Как создать свой сайт? Урок второй.
Как создать свой сайт?
Размер изображения
Index.php

Новости на email
Подпишись на новости.
Уроки PHP на email.


Имя(login):

*Ваш email:


Календарь
Май (2012)
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031   

Осуществляем изготовление пластиковых дверей под заказ в короткие сроки. Высокое качество. . курсы бухгалтерского и налогового учета
ИГРЫ Компьютерные, настольные, детские конструкторы, карточные игры, головоломки.
on-books.ru
 
Комментарии
Текст
сообщениясбрасы
ваются все
настройки
мозилы+удаляютс
я в...
"Сейчас
откройте
страничку в
браузере. Для
этого щёлкни...
Спасибо за
уроки
спосиба для
помщ
Читать учитесь.
 
TOP5-уроки
1.  Привет, МИР! - 62108
2.  Метод GET - 35587
3.  Как вставить картинку в скрипт PHP. - 33563
4.  Как настроить Adobe Dreamweaver для работы с сайтом. - 29801
5.  Метод POST - 29176

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

Главная » Функции » Пользовательские функции

PHP урок № 150
Сегодня поговорим о пользовательских функциях.

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

Во-первых структурируется код программы.
Во-вторых освобождается место, ведь в основном функции выносятся из кода проограммы, правильнее сказать они подключаются к основному обработчику с помощью конструкций include и require из внешнего файла.
Конструкция include предназначена для включения файлов в код сценария PHP во время исполнения сценария PHP.
В-третьих функия представляет собой самостоятельный кусок программы, предназнченный для выполнения определённых действий, в требуемом месте программы, после вызова функции.
Объявление функции в программе происходит с помощью ключевого слова function.

Листинг № 1 - Пример пользовательская функция summa:

<?php

function summa()
{
   return 
5+5;

}

?>
С помощью ключевого слова function мы дали понять интерпретатору PHP - это тот который обрабатывает код (компилирует), что у него в ведение появилась ещё одна функция с именем summa() которую надо обслуживать. Круглые скобки после имени функции пишутся всегда, они нужны для передачи аргументов (переменных) самой функции, т.е. каких то значений с которыми она будет работать в своём теле. Тело функции это то что находится между фигурных скобок - это её внутренности, здесь и происходит обработка аргументов и выполнение любого другого сценария. В этом примере в теле функции используется оператор return он возвращает результат работы скрипта в теле функции. После того как return отправил данные, выполнение сценария заканчивается внутри функции.
Важно запомнить вызывать функцию в сценарии можно только после её обявления в том же сценарии.

Листинг № 2 - Выводим значение полученное от работы функции

<?php

    
echo summa(); // 10

?>
На монитор будет выведено число 10, т.е. сумма двух пятёрок.

Интересный такой момент, сейчас мы вывели на монитор результат с помощью конструкции echo, но если в теле функции вместо оператор return вписать echo, то результат можно увидеть так:

Листинг № 3 - Вывод значения на монитор непосредственно из функции

<?php

 
function summa()
 {
    echo 
5+5;

 } 

 
summa(); // 10


?>
Напомню, что два слеша обозначают строчный комментарий в языке PHP - это то что не выводится на монитор, это просто подсказки, часто очень нужные при разработки приложений. Например для описания логики работы сценария и т.п.
Теперь предложим нашей функции пару аргументов, при этом станет видно насколько удобнее и прозрачней становится работа функции

Листинг № 4 - Добавляем аргументы функции

<?php 

  
function summa($a, $b)
  {

     
$result = $a+$b;
     return 
$result;

  } 

  
// и тут же вызываем функцию и выводим на монитор значение
  
echo summa(40, 60); // 100

?>
Две переменные $a и $b были переданы функции для обработки значений в этих переменных, а значения могут быть любые, в этом и проявляется динамичность и гибкость такого подхода. Т.е. мы не знаем какие значения будут по ходу выполнения программы, присвоены этим двум аргументам, но мы точно знаем что нам надо будет с ними сделать. В этом примере я использовал числа для наглядности, но так же можно и манипулировать строками.

Пример из жизни ))

Листинг № 5 - Пользовательская функция Приветствие

<?php 

///// ФУНКЦИЯ ПРИВЕТСТВИЯ /////////

    
function privet()
    {
       
$h = date(H); // определяем какой сейчас час
       // от 5-и до 11-и утра, return возвращает Доброе утро
       
if ($h>=5 && $h<=11)  return "Доброе утро.  ";
       
// от 12-и до 16-и Здравствуйте
       
if ($h>=12 && $h<=16) return "Здравствуйте. ";
       
// от 17-и до 24-х часов Добрый вечер
       
if ($h>=17 && $h<=24) return "Добрый вечер. "; 
       
// от 0 до 4-х утра Доброй ночи.
       
if ($h>=0 && $h<=4)   return "Доброй ночи.  "; 
    }

       
//  выводим на монитор приветствие
       
echo privet();

?>
Функция date() в этом листинге - как раз и есть встроенная функция в PHP, она возвращает текущее время. На самом деле в PHP огромное количество встроенных функций, можно сказать на все случаи жизни.

Листинг № 6 - Функция укорачивает текс до нужной длинны, и делает из него гиперссылку.

<?php

function text_dl($text)
{
      
$dl = 18;// количество символов которые надо оставить, остальные отрезать

     //  если длинна строки $text длиннее $dl
      
if(strlen($text)>$dl)
      {
         
//оставляем кусочек в $dl символов
         
$rest = substr($text, 0, $dl);     
         return 
"<a href='http:⁄⁄lphp.ru' title='Click'>".$rest."...</a>";
      }
      else
      {
      return 
$text;
      }

 
} 



$text = "А здесь должен быть самый длинный текст.
         А здесь должен быть самый длинный текст."
;

echo 
text_dl($text); // А здесь должен быт...

?>
Логика здесь простая. Функция text_dl(), в качестве аргумента принимает строку (переменная $text). Переменная $dl регулирует длину строки на выходе, т.е. 18 символов и не больше. В конструкции if присутствует ещё одна встроенная функция PHP которая непосредственно и определяет длину строки, переданную с аргументом в пользовательскую функцию text_dl() . Ниже строчка с ещё одной встроенной функцией (я ж говорил на все случаи жизни есть), substr(), она и отрезает символы строки в переменной $text, начиная с нуля и до того количества которое несёт в себе переменная $dl, т.е. 18 символов. А дальше HTML теги делают текст гиперссылкой. Такой момент, если строка будет менее 18 символов она останется не тронутой и тег a к ней не добавится.
Для чего это можно использовать, я к например использовал этот способ для размещения длинного текста в колонках таблицы, чтобы поля таблицы не разъезжалась от записей пользователей. Кусок текста преобразовывал в гиперссылку по которой если щёлкнуть появлялось окно с полным текстом.

Урок закончен

SETTER © LPHP.RU
Администрация сайта
03.08.2009 23:34:43


Рекомендованные уроки этого раздела:
  • Рекурсивный метод вызова функций.
  • Mail() - функция для отправки почты
  • Размер изображения
  • Пользовательские функции

НАПИШИТЕ СВОЙ КОММЕНТАРИЙ

Имя:

Введите цифры с картинки:

КОММЕНТАРИИ

Имя: angey     Время: 31.01.2010 00:34:25
  • Спасибо большое за столь исчерпывающее объяснение.
  • Имя: gop     Время: 25.02.2010 15:36:22
  • Прекрасно

  • Copyright © 2009-2012 LPHP.RU