Контакты RSS 2.0

Разделы Сайта:

Кубтеле - о компании
Инструменты SEO
FreeBSD
Администрирование
Centos администрирование
Windows администрирование
Программирование для web

Аккаунт

Популярное:

Материалы по web программированию › Функции в PHP
Одной из ключевых возможностей всех языков программирования является возможность написания кода для многоразового использования. В PHP это достигается с помощью создания пользовательский функций. В этом уроке я покажу Вам как объявлять и использовать их.

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

- функции могут быть объявлены почти в любом месте PHP скрипта. Это включает в себя глобальную область видимости, тело другой функции или тело класса

- функции объявляются с помощью ключевого слова function, за которым следует имя функции

- функция может иметь 0 или больше аргументов, указанных между скобками после имени

- тело функции находится между открывающей и закрывающей фигурными скобками

- правильное имя функции начинается с буквы или знака подчёркивания, за которыми могут быть любые буквы, цифры или знак подчёркивания.

- в отличие от имён переменных, имена функций регистронезависимы

- функция вызывается с помощью своего имени и скобок, между которыми могут быть аргументы

Следующий PHP код объявляет две функции: одна без аргумента, а вторая с аргументом. Также показано как их можно вызвать.
function first()
{
    echo 'First';
}
 
function second($name)
{
    echo 'Second: ' . $name;
}
 
// вызов первой функции
first();
 
// вызов второй функции
second('some argument');



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

- все функции создаются в глобальной области видимости. Это значит, что если функция b() была объявлена внутри a(), Вы все же можете вызвать b() вне a()

Аргументы.

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

- переменные могут передаваться как по значению (свежая копия внутри функции) так и по ссылке (одинаковое значение внутри и за пределами функции)

- объекты автоматически передаются по ссылке

- остальные типы могут передаваться по ссылке, добавив в начале имени переменной &

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

- значением по умолчанию должно быть постоянное выражение (такое как строка, целочисленное значение или NULL)

- у Вас может быть несколько аргументов со значениями по умолчанию, но они должны следовать после обычных аргументов

Следующий код показывает как значения по умолчанию могут быть использованы:
function nameAndSize($name, $size = 'small')
{
    echo sprintf("%s is %s\n", $name, $size);
}
 
nameAndSize('John');
nameAndSize('Paul', null);
nameAndSize('George', 'tall');



Возвращаемые значения.

- Вы можете возвращать значения, используя ключевое слово return()

- если же return явно не указан, то возвращается NULL по умолчанию

- Вы можете возвращать только одно значение из функции, но оно может быть массивом или объектом

Следующий код демонстрирует как Вы можете возвращать значения:
function foo()
{
    return 1234;
}
 
function bar()
{
    return array(1234, 5678);
}
 
$num = foo();
$arr = bar();



Анонимные функции.

Начиная с PHP 5.3.0, поддерживаются анонимные функции (или замыкания). Очень полезен callback, которые демонстрируется в следующем примере:
$var = 'hey-you';
 
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, $var);
 
// выводит heyYou


Также Вы можете применить замыкание прямо к переменной.
скачать dle 10.3фильмы бесплатно
Добавил: admin › 31-12-2014, 11:00
› 0 комментария › печатькатегория
Другие новости по теме
  • Функции обратного вызова в PHP
  • Сокращение URL c Google URL Shortener API
  • Загрузка нескольких файлов в PHP
  • Класс singleton в PHP
  • Сортировка многомерных массивов в PHP

  • Кубтеле 350000, Россия, Краснодарский край, , город Краснодар,улица Айвазовского, д. 94, корп. А
    Продвижение сайтов,Регистрация доменов,Компьютерная системная интеграция
    8(861) 299-02-62, +7(903) 449-666-8