Первое знакомство с функциями php для начинающих PHP


Оглавление (нажмите, чтобы открыть):

Уроки PHP.

Урок 1. Начало.

Первые 90 процентов работы занимают
10 процентов времени, а последние 10 процентов —
оставшиеся 90 процентов времени.
NN

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

Ну все, для вступлений хватит, пора непосредственно переходить к нашим урокам.

Прежде всего нужно сказать: PHP-скрипт для его выполнения должен быть заключен в следующие последовательности символов:

собственно скрипт ;?>
либо
скрипт ;?>
или

Все они работают одинаково, все дело только в личных предпочтениях. Например, мне больше нравится первый вариант, но вы можете пользоваться любым другим.
Между этими символами будет выполняться каждая строка кода, кроме строк-комментариев, которые обзначаются следующим образом:
// — не выполняются команды от данных символов до конца строки;
/* комментарий */ — не выспринимаются команды между данными символами независимо от количества строк комментария;
# — комментарием считаются все символы от данного знака до конца строки.

Теперь мы познакомимся с одной из самых распространенных функций PHP — функцией вывода echo. Например, скрипт

выведет на экран текст «Сейчас мы проходим урок 1» (без кавычек) без какого-либо форматирования. Вы можете опробывать это сами. Для этого необходимо создать файл с расширением .php, .php3, .php4 (хотя последние два использовать не рекомендуется) или .phtml (именно эти расширения дают понять серверу, что в файле содержится php скрипт) и скопировать туда предыдущий пример. После закачки файла на хостинг, набрав в браузере соответствующий URL, вы можете увидеть плод вашего небольшого труда. Добавлю, что внутри кавычек функции echo можно размещать любой текст, в том числе HTML-теги.

Но, конечно же, функция echo была бы бесполезна, если бы выводила одно и то же сообщение. Поэтому мы плавно переходим к понятию переменной. Все без исключения переменные в PHP начинаются со знака $ (доллар). Причем имя переменной не должно начинаться с цифры, хотя внутри себя может её содержать. Заметьте, что имена переменных чувствительны к регистру.

Операция, неразрывно связанная с переменными, — операция присваивания = . Рассмотрим следующий пример:

Результат выполнения скрипта можно посмотреть здесь.

Интересная особенность PHP заключается в том, что от пользователя не требуется предварительно определять тип переменной. В вышеуказанном примере мы присвоили переменной $A действительное, нецелое число, и она автоматически стала типа double , или, по-другому, float . Переменной $a мы присвоили целое числовое значение, теперь её тип — integer . $mess4 присвоено строковое значение — её тип, соответственно, string . Данная особенность, безусловно, облегчает жизнь разработчика PHP-скриптов.
Как вы заметили выше, каждая операция в PHP отделяется знаком ; (точка с запятой). Это обязательное условие для всех операций, кроме некоторых функций, которые мы рассмотрим в следующих уроках.

Но опять же все переменные в примере выше фиксированы, для их изменения нам необходимо самим менять их значение в скрипте. Как же этого избежать? Ответ — стандартные формы HTML.

Если мы укажем в свойстве action тега Form в качестве скрипта-обработчика наш файл test.php, содержащий следующие строки:

то имена полей формы и их значения передадутся скрипту, который автоматически сделает названия полей переменными, а значения полей — значениями соответствующих переменных.

Вот как будет работать наш пример:

Замечу, что данный пример будет работать только если в настройках PHP (они хранятся в файле php.ini) в качестве значения параметра «register_globals» установлено «On».

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

PHP: Функции

Автор: Артемьев Сергей Игоревич
ICQ: 438856621
email: _spin_@bk.ru

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

Функции бывают пользовательские и системные. Пользовательские функции (как следует из названия) программист пишет самостоятельно. Системные функции всегда доступны из любого места скрипта и объявлять их не надо.

Пользоваться функциями очень просто. Объявляется функция следующим образом:

Любая функция имеет имя, список параметров, тело функции и возвращаемые данные. Правила именования функций аналогичны правилам дя переменных. Параметры записываются в скобках через запятую, а если функции не требуются параметры — должны ставится пустные скобки «()». Любая функция должна возвращать какое-либо значение. Если в коде функции не встречается выражение return, то считается, что функция возвращает пустое значение. Немаловажный факт — в PHP тип возвращаемых данных заранее не определён. Поэтому одна функция может возвращать значения с различными типами данных в зависимости от входных параметров.

Теперь в любом месте скрипта можно написать

и в браузер будет выведено

Рассмотрим более интересный вариант применения — функцию преобразования данных. Например, у нас есть список, содержащий полные имена, фамилии и отчества сотрудников. Нам для составления отчёта надо преобразовать полное ФИО к формату фамилии с инициалами, т.е. преобразовать «Иванов Александр Владимирович» в «Иванов А.В.».

Функция для преобразования будет выглядеть так:

а код для вызова функции будет выглядеть так:

При использовании функций необходимо помнить следующее:

  1. В теле функции используются копии параметров, поэтому все изменения переменных будут потеряны привыходе из функции. Мы уже рассматривали такой пример при изучении областей видимости переменных.
  2. Если параметр должен быть изменён в функции — необходимо передавать его по ссылке, т.е. в описании функции надо перед именем параметра добавить «&»: function func($p1, &$p2)
  3. В старых версиях PHP функция должна была быть объявлена до первого использования, но в PHP версии 4.3 и выше порядок объявления и использования функции может быть любым.

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

Первое знакомство с функциями php для начинающих PHP

В любом языке программирования существуют подпрограммы. В языке C они называются функциями, в ассемблере — подпрограммами, а в Pascal существуют даже два вида подпрограмм: процедуры и функции.

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

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

Помимо встроенных функций PHP, часто возникает необходимость создания пользовательских функций, выполняющих определенные задачи.

Особенности пользовательских функций PHP

Перечислим особенности пользовательских функций в PHP:

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

В PHP программисту дана достаточно высокая свобода при создании пользовательских функций. В отличии от языка C++ в пользовательских функциях доступны параметры по умолчанию.

1. Невозможность объявления локальных функций. В PHP вы не можете объявить локальную функцию, как это можно сделать в других языках программирования. Попросту говоря, вы не можете создать функцию внутри другой функции таким образом, чтобы первая (вложенная) функция была видна только во второй функции. В PHP вложенная функция будет доступна всей программе (скрипту), а значит не будет локальной.

function first_function () <
echo «

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

Вторая пользовательская функция

В рассмотренном примере сценарий выведет:

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

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

Мастер Йода рекомендует:  Протестируйте «Снежинск»

2. Второй недостаток пользовательских функций PHP связан с областью видимости функций. Чтобы разобраться в этой категории, необходимо пояснить, какие переменные являются глобальными, а какие — локальными.

Глобальные переменные — это переменные, которые доступны всей программе, включая подпрограммы (функции).

Локальные переменные — переменные, определенные внутри подпрограммы (функции). Они доступны только внутри функции, в которой они определены.

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

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

Поясним данный факт на конкретном примере:

function funct () <
$a = 70 ;
echo «

Сценарий выведет сперва 70, а затем 100:

70
100

Для избавления от приведенного недостатка, в PHP существует специальная инструкция global, позволяющая пользовательской функции работать с глобальными переменными. Подробнее об этом можете узнать здесь

Создание пользовательских функций

Пользовательская функция может быть объявлена в любой части программы (скрипта), до места ее первого использования. И не нужно никакого предварительного объявления, как в других языках программирования, в частности, в C. Преимущества применяемого в PHP подхода в следующем.

Дойдя до определения пользовательской функции, транслятор проверит корректность определения и выполнит трансляцию определения функции во внутреннее представление, но транслировать сам код он не будет. И это правильно — зачем транслировать код, который, возможно, вообще не будет использован. Синтаксис объявления функций следующий:

function Имя (аргумент1[=значение1]. аргумент1[=значение1])
<
тело_функции
>


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

Требования, предъявляемые к именам функций:

  • Имена функций могут содержать русские буквы, но давать функциям имена, состоящие из русских букв не рекоммендуется;
  • Имена функций не должны содержать пробелов;
  • Имя каждой пользовательской функции должно быть уникальным. При этом, необходимо помнить, что регистр при объявлении функций и обращении к ним не учитывается. То есть, например, функции funct() и FUNCT() имеют одинаковые имена;
  • Функциям можно давать такие же имена, как и переменным, только без знака $ в начале имен.

Типы значений, возвращаемые пользовательскими функциями, могут быть любыми. Для передачи результата работы пользовательских функций в основную программу (скрипт) используется конструкция return. Если функция ничего не возвращает, конструкцию return не указывают. Конструкция return может возвращать все, что угодно, в том числе и массивы.

Приведем примеры использования пользовательских функций:

function funct () <
$number = 777 ;
return $number ;
>
$a = funct() ;
echo $a ;

В рассмотренном примере функция funct возвращает с помощью конструкции return число 777. Возвращенное функцией значение присваивается глобальной переменной $a, а затем оператор echo выводит значение переменной $a в браузер. В результате мы увидим в браузере число 777.

Далее мы рассмотрим возможности PHP по передаче параметров пользовательских функций.

Урок 10. PHP — Функции

Функция это просто блок кода, который имеет название и входные параметры для обработки, который может быть выполнен, когда нам это нужно. Может показаться, что толку от них мало, но, поверьте мне, когда вы поймете и научитесь использовать функции, вы сможете сэкономить кучу времени и написать код, который будет гораздо более удобным для чтения!

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

Создаем свою первую php функцию

Когда вы создаете функцию, нужно сначала дать ей имя, например, myCompanyName. Лучше всего называть функции понятными названиями, которые будут иметь смысл, чтобы не запутаться. Это же касается и переменных.

Синтаксис для создания функции довольно очевидный и логичный. Во-первых, вы должны сказать PHP, что вы хотите создать функцию. Это можно сделать, введя ключевое слово function и ваше имя функции и некоторые другие вещи (о которых мы поговорим чуть позже).

Вот как выглядит объявление функции myCompanyName:

Примечание: Название функции может начинаться со знака «_», но не с цифры!
Это лишь каркас нашей функции, а внутри него мы можем поместить любой код, который захотим. При вызове функции он будет выполняться. Видите в фигурных скобках в приведенном выше примере «<>»? Эти скобки определяют, где должен быть наш код функции. Открывающая фигурная скобка «<» говорит PHP, что код функции начинается, а закрывающая фигурная «>» говорит PHP, что наша функция окончена!

Давайте добавим в нее что-то простенькое, например echo.

Вот и все, довольно просто, правда? Теперь научимся вызывать нашу функцию.

Вызов готовой функции php

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

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

  • Всегда начинайте ваши функции с ключевым словом function.
  • Помните, что ваш код функции должны быть между «<» и «>».
  • Когда вы вызываете функцию, убедитесь, что пишете ее имя правильно.

Функции с параметрами

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

Однако, если бы мы использовали параметры, то мы могли бы добавить некоторые дополнительные фишки в нашу функцию! Параметр появляется скобках «()» и выглядит как обычная переменная PHP. Давайте создадим новую функцию, которая создает пользовательское приветствие основанное на имени человека, которое мы передадим в качестве параметра.

Теперь когда мы будем вызывать функцию sayHello, то в скобках обязательно должны указывать параметр (имя), так как функция объявлена с параметром и игнорировать его нельзя.
Если мы хотим указывать несколько параметров, то просто перечисляем их при объявлении функции через запятую и все, ничего больше не требуется.

Возвращение значения функцией php

Помимо того, что вы имеете возможность передать функции информацию, она так же может и сама вернуть значение. Но помните, функция может возвращать только одно значение, хотя это может быть что угодно: целое число, вещественное, булевое значение, как вы пожелаете!

Как она возвращает значение? Лучше всего разобраться на примере. Объявим функцию с параметрами, а затем присвоим результат некоторой переменной, вот так:

Чтобы присвоить функции значение — в нее добавляется оператор return, видите его? Результат сложения двух чисел хранится в переменной $total, а с помощью return $total это значение передается самой функции. Затем мы просто присваиваем его переменной $myNumber после вызова функции mySum с двумя параметрами 3 и 4 (это числа которые следует сложить).

Практикуйтесь, разбирайтесь и у вас все получится!

Первое знакомство с функциями php для начинающих PHP

Приведем пример синтаксиса, используемого для описания функций:

Пример #1 Псевдокод для демонстрации использования функций

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

Имена функций следуют тем же правилам, что и другие метки в PHP. Корректное имя функции начинается с буквы или знака подчеркивания, за которым следует любое количество букв, цифр или знаков подчеркивания. В качестве регулярного выражения оно может быть выражено так: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$ .

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

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

Пример #2 Функции, зависящие от условий

/* Мы не можем вызвать функцию foo() в этом месте,
поскольку она еще не определена, но мы можем
обратиться к bar() */

if ( $makefoo ) <
function foo ()
<
echo «Я не существую до тех пор, пока выполнение программы меня не достигнет.\n» ;
>
>

/* Теперь мы благополучно можем вызывать foo(),
поскольку $makefoo была интерпретирована как true */

if ( $makefoo ) foo ();

function bar ()
<
echo «Я существую сразу с начала старта программы.\n» ;
>

Пример #3 Вложенные функции

function foo ()
<
function bar ()
<
echo «Я не существую пока не будет вызвана foo().\n» ;
>
>

/* Мы пока не можем обратиться к bar(),
поскольку она еще не определена. */

/* Теперь мы можем вызвать функцию bar(),
обработка foo() сделала ее доступной. */

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

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

Замечание: Имена функций регистронезависимы, тем не менее, более предпочтительно вызывать функции так, как они были объявлены.

Функции PHP поддерживают как списки аргументов переменной длины, так и значения аргументов по умолчанию. Смотрите также описания функций func_num_args() , func_get_arg() и func_get_args() для более детальной информации.

Можно вызывать функции PHP рекурсивно.

Пример #4 Рекурсивные функции

Замечание: Рекурсивный вызов методов/процедур с глубиной более 100-200 уровней рекурсии может вызвать переполнение стека и привести к аварийному завершению скрипта. В частности, бесконечная рекурсия будет считаться программной ошибкой.

7 функций php для начинающих

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

Функция 1: array_rand

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

Можно конечно воспользоваться функциями rand или mt_rand для подстановки их в качестве ключа с указанием диапазона (пример: $sites(rand(0,3)); ), но это не кашерно и работает гораздо медленнее чем array_rand.

Функция 2: strip_tags

Когда я только начинал программировать, это была одна из самых моих любимых функций, я её пихал куда только мог. Суть её работы предельно проста, она вырезает из текста все возможные HTML теги. Её использование может быть очень удобным при обработке входящих данных, например комментариев от пользователя. Кроме всего прочего будут вырезаны все скрипты JavaScript, что не менее важно.


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

Функция 3: strftime

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

Функция 4: basename

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

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

Функция 5: list

Очень интересная функция, суть её задачи заключается в присвоении элементов массива указанному списку переменных. Причем весь процесс происходить через присвоение. Например, таким образом, передав данной функции в качестве параметров две переменные и последующее присвоение данной конструкции в качестве значения — массива с данными, всем ранее переданным переменным будут присвоены соответствующие значения массива, в поочередном порядке.
Словами несколько сложновато передать всю суть, смотрите пример ниже.

Запись может быть и следующего вида: (порадуйте своих друзей)

Функция 6: range

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

Функция принимает и третий аргумент, а именно шаг с которым необходимо формировать значения.

Функция 7: isset

Ну и напоследок, функция проверяющая наличие переменной, а именно установлено ли её значение во что нибудь отличное чем NULL. В качестве аргумента передается переменная и если её значение не равно NULL, то функция возвращает true, в противном случае false. Удобно при проверке глобальных массивов, переданных от пользователя ($_GET,$_POST) на наличие определенных установленных элементов массива.

Данную функция удобно использовать в следующих конструкциях: (чаще всего я так и делаю)

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

Похожие записи

  • Оптимизация загрузки CSS и JavaScript на странице (2)
  • Автоматическое обновление jQuery на PHP (1)
  • PHP скачивание файлов по списку URL (5)
  • Геотаргетинг и геолокация на PHP (3)
  • Конвертирование курса валюты на PHP + google (0)
  • Валидация данных кредитной карты. PHP CC Val > (0)
  • Обновленная авторизация Вконтакте (PHP, CURL) (4)

3 комментария to “7 функций php для начинающих”

Очень занимательный материал на вашем сайте, статей 10 открыл для прочтения. Добавлю свои любимые функции
unset — удаляем ))))
set_time_limit(0) время выполнения скрипта не ограниченно
foreach — перебор ассоциативного массива
ob_start() задержка вывода, вывод в буфер.
самое главное var_dump() без него почти ни один скрипт не обходится в процессе создания )))

на isset редко проверяю так как писать лень лишние букавы ))

if (!$_GET[‘query’]) <
// get results and display them
> else <
// show some default content
>

9 PHP функций, которые нужно знать всем

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

1. Создание функций с переменным числом аргументов

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

Но для начала, вспомним как мы создаём функции обычным образом:

Теперь посмотрим на то, как можно написать функцию с неограниченным количеством аргументов. Для этого будет использовать метод func_get_args():

2. Используем Glob() для поиска файлов

Часто названия функций говорят сами за себя. Такого нельзя сказать о функции glob().

Если не вдаваться в подробности, её функциональность схожа с методом scandir(). Она позволяет найти необходимый файл по шаблону:

Для нахождения файлов нескольких типов надо писать так:

Так же можно в шаблоне указать путь:

Для того чтобы получить полный путь к документу используйте метод realpath():

3. Информация об используемой памяти

Если вы будете отслеживать количество памяти, которое съедается на работу ваших скриптов то, наверное, чаще будете их оптимизировать.

В PHP существует мощный инструмент отслеживания используемой памяти. В разных частях скрипта нагрузки могут быть разные. Для того чтобы получить значение используемой памяти в данный момент, нам следует использовать метод memory_get_usage(). Для фиксации максимального количества используемой памяти используем memory_get_peak_usage()

4. Информация о процессоре

Для этого необходимо использовать метод getrusage(). Но учтите, что на Windows эта функция работать не будет.

Картина, изложенная выше, будет понятно тем, у кого есть опыт в системном администрировании. Для всех остальных предлагаем расшифровку:

  • ru_oublock: количество операций блочной записи
  • ru_inblock: количество операций блочного чтения
  • ru_msgsnd: количество отправленных сообщений
  • ru_msgrcv: количество принятых сообщений
  • ru_maxrss: максимальный размер невыгружаемого набора
  • ru_ixrss: общий объем разделяемой памяти
  • ru_ >Для того чтобы узнать какие ресурсы вашего процессора используются скриптом, вам необходимо значение ‘user time’ (время работы в пользовательском режиме) и ’system time’ (время работы в привилегированном режиме). Вы можете получить результат как в секундах, так и в микросекундах. Для того чтобы превратить общее количество секунд в десятичное число, вам необходимо разделить значение микросекунд на 1 миллион и добавить к значению секунд.

Запутанно как-то. Вот пример:

Хотя выполнение скрипта заняло около 3-х секунд, процессор не был сильно нагружен. Дело в том, что при вызове (sleep) скрипт практически не потребляет ресурсов процессора. Вообще существует множество задач, которые занимают значительное время, но при этом не используют процессор. К примеру, ожидание операций связанных с диском. Так что вы не всегда используете процессорное время в своих скриптах.

Работа скрипта заняла 1.4 секунды процессорного времени. В данном случае, время системных вызовов вообще низкое.

Время работы в привилегированном режиме (System Time) – это время, которое процессор затрачивает на выполнение системных запросов к ядру от имени программы. Пример:

Теперь системного времени затратилось намного больше, чем в прошлом примере. Всё благодаря методу microtime(), который использует ресурсы системы.

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

5. Магические константы

В PHP существует множество магических констант, таких как номер текущей строки (__LINE__), путь к файлу (__FILE__), путь к каталогу (__DIR__), имя функции (__FUNCTION__), имя класса (__CLASS__), имя метода (__METHOD__) и пространства имён (__NAMESPACE__).

Все мы их рассматривать не будем. Посмотрим только лишь парочку:

Используйте __LINE__ при отладке скриптов:

6. Генерирование уникальных >Бывают такие моменты, когда вам надо сгенерировать уникальную строку. Множество раз я видел, что для решения этой задачи используют функцию md5():

Но на самом деле для этих целей в PHP есть специальная функция uniqid()

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

Для того чтобы уменьшить шансы получения дубликата, мы можем добавить префикс или использовать второй параметр (увеличит количество символов):

Этот метод генерирует строки размером меньше, чем md5, тем самым вы сможете сэкономить место.


7. Сериализация

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

Вообще говоря, этих методов 2: serialize() и unserialize()

Вот так вот работают эти функции. Однако из-за бурного роста популярности JSON, в PHP 5.2 были добавлены 2 метода json_encode() и json_decode(). Их работа схожа с serialize():

Этот вариант более компактный и совместимый с другими языками, такими как JavaScript. Однако при работе с очень навороченными объектами может возникнуть потеря данных.

8. Сжатие строк

Кода мы говорим о сжатии, то на ум сразу же приходят архивные файлы в формате ZIP. PHP предоставляет возможность сжатия длинных строк без всяких файлов.

В следующем примере продемонстрируем работу функций gzcompress() и gzuncompress():

В наших силах уменьшить объём текста на 50%. В этих же целях можно использовать методы gzencode() и gzdecode(), которые используют другой алгоритм сжатия.

9. Выполнить перед завершением

В PHP существует функция register_shutdown_function(), которая позволит вам выполнить какой-то код перед завершением работы скрипта.

Допустим, вы хотите узнать какую-то информацию… Время работы скрипта:

На первый взгляд это может показаться тривиальной задачей. Для этих целей, вы можете поместить код в конце файла. Однако если перед этим где-то сработает функция exit(), этот код никогда не сработает. Так же, он не сработает если на странице будет ошибка или пользователь прервёт загрузку страницы (нажав на соответствующую кнопку в своём браузере);

При использовании метода register_shutdown_function() код выполнится в любом случае:

Вывод

PHP это целая планета, которая не перестаёт нас удивлять своим содержимым. А что думаете вы о данных функциях?

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.net.tutsplus.com/tutorials/php/9-useful-php-functions-and-features-you-need-to-know/
Перевел: Станислав Протасевич
Урок создан: 4 Марта 2011
Просмотров: 86824
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

PHP скрипты

Apache

PHP Скрипты

Для Дизайна Сайта

Куда обратиться с жалобой на управляющую компанию. | Кредит онлайн на карту украина с плохой кредитной историей nakartu.com.ua.

Поиск по Сайту

Самоучитель. Книги.

7.1: Функции в PHP

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

Функция — это предмет целой исторической эпохи в программировании. Когда-то давнымдавно программы представляли собой машинный код, с которым работал непосредственно процессор. Но человек постоянно пытался научить машину «говорить» с ним на одном языке. В результате непонятные для нас нолики и единички стали превращаться в команды, выполняющие одно действие. Но на этом развитие языков программирования не закончилось, так как с увеличением сложности решаемых задач количество команд возрастало в геометрической прогрессии. Для решения этой проблемы программисты создали структуру, с помощью которой можно было выделить блок команд и обозначить их определенным именем. Ее назвали процедурой. Это нововведение позволило резко сократить код программ и сделало его более понятным. Именно с этого момента начинается эпоха процедурного программирования. Дальнейшее развитие привело к тому, что у процедур появились входные параметры, которые назвали аргументами. И наконец, появились функции, отличающиеся от процедур тем, что они могли не просто выполнять определенные действия, но и возвращать значения.

Тем не менее в РНР нет понятия процедуры. Вне зависимости есть ли возвращаемое значение или его нет, мы имеем дело с функцией (function).

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

Введение в PHP

Для работы Вам понадобится сервер, который бы мог интерпретировать php. Если у Вас нету такого сервера, то я рекомендую использовать Denwer, как самый быстрый и простой способ. Советую ознакомиться со статьей: как установить denwer »

Настоятельно рекомендую перед изучением PHP изучить основы html. Сделать это можно прямо на этом сайте ознакомившись с html уроками »

Для начала скажу, что страница, которая будет содержать PHP код должна иметь расширение .php , иначе весь код который Вы напишите на странице будет проигнорирован. Страница с расширением .php будет отображаться в Вашем браузере также как обычная страница с расширением .html . Код на php пишется совместно с html тегами.

Примечание:
На самом деле делать расширение .php не обязательно, если сайт залит на хостинге, а в .htaccess есть строчка:
AddType application/x-httpd-php .htm .html

Теги php

PHP код встраивается в html с помощью специальных тегов:
Вариант 1 — в стиле XML:

Вариант 2 — в стиле ASP:

Вариант 3 — в стиле сценариев HTML:

Мне больше всего нравится первый вариант. В дальнейшем я буду пользоваться только им. Я думаю, что пришло время создать первую простенькую страничку с использованием php.

Создание страницы на php

Создадим страница с расширением .php , которая бы выводила простую фразу и подсчитывала выражение. Напишите в блокноте следующий текст:

Сохраните блокнот как index.php (при этом укажите тип файла: «все файлы», иначе расширение файла будет «.txt»), далее запустите Denwer, перенесите созданный index.php в директорию L:\home\localhost\www (возможно у Вас другой виртуальный диск), а потом напишите в строке браузера http://localhost/:

Если по каким-то причинам Вам не удалось сохранить и создать файл «index.php», то Вы можете скачать архив: index.rar, в котором будет этот файлик.

Поясним рассмотренный пример. Как Вы видите, php был встроен прямо в html-код страницы. С помощью функции echo был выведен текст на страницу. Обратите внимание, что после каждого оператора стоит точка с запятой «;». Это очень важно, поскольку если Вы не будете ставить точки с запятыми после операторов, то интерпретатор PHP выдаст ошибку и страница будет отражена некорректно. Выше рассмотренный код на php можно было написать и так:

Однако я настоятельно рекомендую не делать так, поскольку код становится трудно читаемым.

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

Как и во всех языках программирования в код php можно вписывать комментарии. При этом возможны несколько вариантов оформления комментария:

Комментарии в php очень напоминают язык С.

Составной оператор в PHP

В PHP составной оператор выглядит также как и в языке С++, то есть заключается в фигурные скобки < и >. Нужен он для того, чтобы выполнять какую-то группу операторов. Наиболее часто это используется при использовании условий if и циклов for, while, repeat (подробное описание этих операторов читайте в следующих уроках).

На этом первый урок закончен. Второй урок php будет посвящен: переменным в PHP.

Самоучитель PHP для начинающих

Привет! Этот самоучитель создан для тех, кто хочет научиться программировать на PHP с нуля.

Я объясню вам основы веб-разработки на PHP простым и доступным языком, укажу на важные отличия PHP 5 и PHP 7, а также расскажу про хорошие и плохие практики профессиональной веб-разработки.

Что нужно знать?

Очень желательно знание самых-самых основ HTML, например что такое тег и чем отличается от . Больше никаких знаний не требуется.

Чему я научусь?

Советы по обучению

Переписывайте код из статей вместо копирования — так будет проще привыкнуть к синтаксису PHP.

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

Ну что, готовы? Переходим к изучению языка программирования PHP.

Мастер Йода рекомендует:  Тестирование по техническому английскому языку
Добавить комментарий