г. Москва, Новокуркинское шоссе, дом 51
ПН-СБ с 10:00 до 20:00, ВС — выходной
8 (495) 545-48-18 8 (800) 350-48-18 Обратный звонок

Функции в php

Давайте рассмотрим такой важный момент в программировании на php – функции. 
Функции могут иметь значения по умолчанию. Это значит, что вызов функции без передаваемых параметров будет обрабатываться с предустановленным в функции значением, а при передаче в функцию значения оно заменит значение по умолчанию: 
function makecup($type = "чая") 
{ return "Принесите чашечку $type"; } 
echo makecup(); 
echo makecup("кофе"); 
?> 
Первый оператор echo напечатает в браузер фразу «Принесите чашечку чая», потому что вызов функции произошел без передачи значения, а значит, используется значение переменной $type по умолчанию. Вызов echo makecup("кофе"); напечатает фразу «Принесите чашечку кофе». Обратите внимание, что переменная употреблена прямо внутри обычного текста; такое допускается, если текст заключен в двойные кавычки. 
Удобство языка PHP в том, что в нем есть несколько сотен уже определенных и описанных функций, которые нужно только правильно вызывать в нужном месте. Например, есть функция str_replace(), аргументами которой являются три параметра: искомый фрагмент текста; фрагмент текста, на который будут заменены все найденные фрагменты, соответствующие первому параметру; строка, в которой производится поиск и замена. Пример: 
echo str_replace("муха","слон","муха"); 
В PHP есть масса уже определенных функций, которые имеют жестко определенный синтаксис. Рассмотрим наиболее употребительные из них; для удобства расположим их по категориям: функции для работы со строками, массивами, датой и временем, файлами (в том числе для загрузки файлов) и директориями, почтой, изображениями, базами данных и технологией Cookies. Для упрощения понимания синтаксиса в скобках вместо принятых англоязычных обозначений используются интуитивно понятные русскоязычные. В квадратных скобках указаны необязательные параметры. Функции для работы со строками в качестве одного из обязательных параметров принимают строку — она может быть передана функции напрямую, заключенная в кавычки, а может передаваться переменной, например, в цикле или из другой функции; это зависит от потребностей разработчика. 
Функция strlen(строка) просто возвращает длину переданной ей строки в символах. Пригождается, когда требуется извлечь определенное количество символов или переместиться в файле на заданную длину, но при этом заранее длина строки неизвестна. 
Функция strpos(строка, искомое) находит в строке первое вхождение искомого (заданного) текста и возвращает номер первого символа искомого в этой строке. Так, strpos("Перец","е") вернет число 1 (нумерация, напомню, начинается с нуля). 
Функция strrpos(строка, искомое) действует так же, но ищет с конца, поэтому strrpos("Перец","е") вернет число 3. Широко используется в поисковых системах. Функция strpos() также часто используется, чтобы просто проверить наличие подстроки в строке: 
$zapros = @$QUERY_STRING; 
if(strpos($zapros,"web")!==false) 

echo "Вы находитесь в разделе о веб-дизайне"; 

Функция count(массив) подсчитывает элементы массива и возвращает итоговое количество. (Обычно функции, возвращающие какое-либо значение, ведут себя так, как если бы в их теле находился оператор return, а не echo — то есть чтобы напечатать полученное 
в результате выполнения функции значение, следует вызвать функцию с параметром оператором echo, в ином случае в браузер ничего не выведется; это дает то преимущество, что перед выводом данные можно обработать.) 
Функция join(разделитель, массив) сливает все элементы массива в одну строку. Ее синонимом является функция implode(разделитель, массив) — она делает то же самое, — а антонимом — функция explode(разделитель, строка). Последняя анализирует переданную строку, находит в ней фрагменты, соответствующие подстроке «разделитель», выбрасывает разделители, но в местах 
разделителей создает границы между элементами массива, который создается функцией. Иными словами, код 
$schet = explode(", ", "Первый, второй, третий"); 
Используя даты и время по отдельности, можно получать числа и строки. Если возвращаются числа, то с ними можно производить математически операции. Строки и числа можно конкатенировать. В кавычках в качестве параметра функции допускаются не только метки, но 
и форматирующие и разделяющие элементы: 
echo date("d.m H:i"); 
В результате выполнения кода на экране появится надпись вида: «02.11 23:17» (с поправкой на текущее время, конечно). 
Функция для записи в файл — file_put_contents (файл, данные) — появилась только в PHP 5. До этого приходилось использовать такую последовательность команд: 
$fp=fopen(файл,"w+"); 
flock($fp,LOCK_EX); 
fwrite($fp,данные); 
flock($fp,LOCK_UN); 
fclose($fp); 
Первая строка открывает файл на запись (параметр "w+", в отличие от "a+", который позволяет дописывать данные к уже существующим в файле) и назначает идентификатор открытого файла (в данном случае переменная $fp). Имя файла можно передавать как напрямую, в кавычках (и даже с указанием пути, если он расположен в другой директории), так и посредством переменной. Вторая строка блокирует файл от записи другими процессами — то есть вплоть до отмены этой 
блокировки (четвертая строка) в файл может производить запись только данный сценарий, вызвавший блокировку. Третья строка производит собственно запись данных в файл. Пятая строка закрывает файл.

Задайте вопрос нашему специалисту

Вверх