Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Стандартные функции, работа со строками с датой и т.д.

Оглавление

Оглавление. 1

Введение. 2

Что такое PHP. 2

Синтаксис PHP. 2

Управляющие операторы.. 4

Преобразование типов данных. 5

Функции. 6

Подключение файлов. 7

Массивы.. 8

Стандартные функции, работа со строками с датой и т.д. 11

Заключение. 16

Дополнительный материал: 16

Литература. 16

 


Введение

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

Работа программ уже полностью зависима от сервера, на котором расположен сайт, и от того, какая версия того или иного языка поддерживается. К серверным языкам программирования можно отнести: PHP, Perl, Python, Ruby, любой.NET язык программирования (технология ASP.NET), Java, Groovy. Важной стороной работы серверных языков является возможность организации непосредственного взаимодействия с системой управления базами данных (или СУБД) — сервером, на котором упорядоченно хранится информация, которая может быть вызвана в любой момент.

Что такое PHP

PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) - это распространенный язык программирования общего назначения с открытым исходным кодом. PHP сконструирован специально для ведения Web-разработок и его код может внедряться непосредственно в HTML.

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

Синтаксис PHP

Код РНР может быть включен в страницу одним из трех способов:

<?php

код

?>

<?

код

?>

<%

код

%>

Простейший пример РНР-кода:

<?php

echo "Hello, world!";

print "Hello, world again!";

?>

В PHP имена переменных начинаются с символа $. $a = 5. Тип переменных обнаруживается автоматически. Например:

$a = 5; //Заставляет $a стать переменной типа INTEGER.

$a = 5.0; //Заставляет $a стать переменной типа DOUBLE.

$a = " 5"; //Заставляет $a стать переменной типа STRING.

 

$a=1; /* глобальная переменная */

function Test () { echo $a;/* ссылка на локальную переменную */ } Test();

 

$a=1; $b=2;

function Sum () {

global $a,$b;

$b = $a + $b;}

Sum();

echo $b;

 

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

function Test () {

static $a=0;

echo $a;

$a++;

}

 

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

define("RED", "#FF0000");

Кроме этого PHP содержит несколько встроенных констант. Например, определены константы TRUE со значениями "истина"(1) и FALSE со значениями "ложь"(0 или пустая строка). Константа PHP_VERSION указывает на версию анализатора PHP. Константа PHP_OS указывает операционную систему. __FILE__ содержит имя файла и __LINE__ содержит номер текущей строки в файле, который выполняется.

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

$str = "World"; echo "Hello, ".$str."!";

Управляющие операторы

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

if($city == "Odessa") { echo ("In Odessa");}

else{ echo ("In some city");}

И вторая форма, удобная в том случае, если Вам необходимо вставить HTML-код:

if($s == "guest"):

echo ("Be my guest!");

else if ($s == "admin"):

echo ("Hello to me");

endif;

И еще один пример для того, чтобы показать, как вставить HTML-код

<?

if($s == "guest"):

?>

<h1>Be my guest!");</h1>

<?

endif;

?>

Также можно использовать оператор switch, очень похожий на эквивалентный оператор в C.

$a=0;

switch($a) {

case 1: echo "a is 1"; break;

case "hello": echo "a is hello"; break;

default: echo "a is unknown"; break; }

И еще один пример, который показывает существенное отличие данного оператора в PHP от эквивалентного в С (можно использовать переменные):

$a = 7.8; $b = 7.2; $res = 7.8;

switch ($res) {

case $a: echo $res; break;

case $b: echo "wow"; break;

}

То же самое может быть получено с switch(); endswitch;. В PHP мы опять встречаем знакомый уже оператор while. Он также имеет два вида:

Привычный вам while() и while(): endwhile;

$a=0;

while($a <100) {

$a++;

echo $a;

}

либо

$a=0;

while($a <100):

$a++;

echo $a;

endwhile;

Также есть оператор do { } while(), использование которого нет нужды подробно объяснять. И последний оператор - for опять таки имеет две формы:

for($i = 0; $i < 10; $i++){ echo ($i); }

или

for($i = 10; $i > 0; $i--):

echo ($i);

endfor;

Преобразование типов данных

Существует несколько правил преобразования:

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

<?php

$str = "23SomeText";

$res = 5 + $str;

echo $res; //выведет 28

echo $str; //выведет 23SomeText, т.к. значение самой переменной не изменится

//при выполнении данной операции

?>

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

<?php

$str = "2.3";

$res = 5 + $str;

echo $res; //выведет 5.8

?>

Кроме того существует способ явного преобразования типов:

<?php

$a = 99.2;

$a = (int)$a; //=99

$b = (double)$a; //=99.2

$c = (string)$a; //="99.2"

?>

Функции

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

function имя_функции(параметры)

{ какой-либо код }

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

function MyFunc ($param)

{ if($param == 0)

return;

echo ("The parameter is ".$param);

}

....

$number = 91;

MyFunc($number);

 

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

function Change (&$num1, &$num2)

{ $changer = $num1;

$num1 = $num2;

$num2 = $changer;

}

$number1 = 10;

$number2 = 25;

Change ($number1, $number2);

echo $number1; //выведет 25

echo $number2; //выведет 10

 

Мы можем устанавливать для параметров значение по умолчанию, но как и в С/С++ такие параметры необходимо помещать в конец.

function MyFunc($first, $second = 0)

{ $result = $first + $second;

return ($result);

}

$num = MyFunc(500);

 

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

function FirstFunc ($param) {//возводит число во вторую степень

function SecondFunc($num){ //возводит число в третью степень

return ($num * $num * $num);

}

return ($param * $param);

}

$someNumber = 10;

echo (FirstFunc ($someNumber));

echo (SecondFunc (5));

Подключение файлов

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

Для того, чтобы подключить файл, необходимо воспользоваться функцию require().

require ("имя_файла");

Вы также можете использовать альтернативную форму для require - include("имя_файла").

Файл p1.php

<?php

function DemoFunc () {return "Hello";}

?>

Файл p2.php

<?php

$var = require ("p1.php");

echo (DemoFunc()); //выводит Hello

?>

Есть несколько различий между require и include. require в случае ошибки при подключении файла тут же закончит выполнение PHP-скрипта, то есть вызовет функцию exit(), а include продолжит далее выполнение скрипта. Каждый раз, когда в программе встречается слово require, на его место интерпретатор PHP вставляет текст того файла, который он подключает. При использовании include происходит то же самое за исключением того, что при еще одном обращении к этому же include снова произойдет еще одна вставка, что не произойдет при использовании require. Следующий пример характеризует последнее различие при условии существования двух файлов My1.php и My2.php

for ($i = 1; $i <= 2; $i++) { require ("My".$i.".php");}

// интерпретатор PHP выдаст ошибку

for ($i = 1; $i <= 2; $i++) { include ("My".$i.".php");}

// сработает

Массивы

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

Для инициализации массива существуют несколько способов. Один из способов Вам уже знаком:

$massiv[0] = "first";

$massiv[1] = "second";

$massiv[2] = "third";

 

Но то же самое Вы могли бы провернуть и другим способом.

$massiv[] = "first";

$massiv[] = "second";

$massiv[] = "third";

 

Данный код создаст массив из трех элементов, и даст индексы элементам по умолчанию: 0, 1, 2. Но можно присваивать любой целый индекс по своему усмотрению:

$massiv[25] = "first";

$massiv[10] = "second";

$massiv[49] = "third";

 

Данный код опять-таки создает массив из трех элементов, но с индексами 10, 25 и 49. Как вы уже наверное поняли, привычный для вас способ определения количества элементов в массиве по наибольшему индексу в массиве не сработает. Тут необходимо что-то другое, а именно функция count(). Вот ее прототип: int count (массива)

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

$massiv = array("first", "second", "third");

$num = count($massiv);

for($i = 0; $i < $num; $i++){ echo (massiv[$i]."<br>"); }

 

Кстати, вы можете совмещать способы инициализации:

 

$massiv[25] = "first";

$massiv[10] = "second";

$massiv[ ] = "third";

 

В данном случае третьему элементу массива присвоится индекс 26.

Другой способ инициализации массива заключается в использовании функции array(). Мы передаем в функцию значения, которые хотим присвоить массиву:

$massiv = array("first", "second", "third");

 

Создаст массив с тремя элементами, присвоив им индексы 0, 1 и 2 соответственно. Чтобы присваивать индексы по своему усмотрению, необходимо использовать в функции array() оператор =>

$massiv = array(5 => "first", 15 => "second", 10 => "third");

$massiv = array(9 => "first", "second", 21 => "third");

 

В первом примере создается массив из трех элементов с индексами 5, 10 и 15. Во втором случае - с индексами 9, 10 и 21. Обратите внимание, что оператор => можно использовать перед любым элементом массива.

Чтобы присвоить элементу массива индекс в виде строки, делаем то же самое:

$massiv["first"] = "five";

$massiv["second"] = "six";

или

$massive = array("first" => "five", "second" => "six");

 

Теперь рассмотрим функции, которые помогут вам справляться с массивом, если он непоследовательно индексирован или индексирован строками. Две функции - each() и list() используются вместе для прохода через массив:

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

void list(...); - присваивает переданные переменные так, как если бы они были массивом

array each (array MyArray) - возвращает следующую пару (ключ, значение) из массива, в случае, если массив закончился, функция возвращает FALSE.

reset($massiv);

 

while (list($key, $value) = each($massiv))

{

echo "Array element with key = ".$key." has value = ".$value."<br>";

}

 

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

Следующие две функции next(), prev() перемещают внутренний курсор в массиве на один элемент вперед или назад соответственно, т.е. возвращают значение следующего или предыдущего элемента соответственно. В случае, если достигнут конец или начало массива функции возвращают FALSE.

Сейчас наиболее распространен другой способ перебора всех элементов массива, а именно с использованием цикла foreach.

$massiv = array(

1=>’apple’,

2=>’orange’

)

foreach($massiv as $key => $value) {

echo $key.’-’.$value;

}

// Результат: 1-apple2-orange

 

sort(array, flag) – сортировка массива, где flag – необязательный праметр:

SORT_REGULAR – обычная сортировка

SORT_NUMBER – значения массива рассматриваются как числа

SORT_STRING – значения массива рассматриваются как строки.

asort(array) – сортировка массива с сохранением порядка индексов.

rsort(array) – аналогична sort(), но в обратном порядке.

arsort(array) – аналогична asort(), но в обратном порядке.

ksort(array) – сортирует массив по индексам.

krsort(array) – аналогична ksort(), но в обратном порядке.

Стандартные функции, работа со строками с датой и т.д.

Для работы со временем в языке PHP есть несколько встроенных функций

checkdate -- проверяет правильность даты/времени.

int checkdate (int month, int day, int year);

Возвращает true если данная дата правильна, иначе false. Проверяет правильность даты, заданной аргументами. Дата считается правильной, если: год между 1900 и 32767 включительно, месяц между 1 и 12 включительно, день находится в диапазоне разрешенных дней данного месяца. Высокосные года учитываются.

date -- формат локального времени/даты

string date (string format, int timestamp);

В фоматной строке должны использоваться следующие символы:

a - "am" или "pm"

A - "AM" или "PM"

d - день месяца, цифровой, 2 цифры (на первом месте ноль)

D - день недели, текстовый, 3 буквы; т.е. "Fri"

F - месяц, текстовый, длинный; т.е. "January"

h - час, цифровой, 12-часовой формат

H - час, цифровой, 24-часовой формат

i - минуты, цифровой

j - день месяца, цифровой, без начальных нулей

l (строчная 'L') - день недели, текстовый, длинный; т.е. "Friday"

m - месяц, цифровой

M - месяц, текстовый, 3 буквы; т.е. "Jan"

s - секунды, цифровой

S - английский порядковый суффикс, текстовый, 2 символа; т.е. "th", "nd"

U - секунды с начала века

Y - год, цифровой, 4 цифры

w - день недели, цифровой, 0 означает воскресенье

y - год, цифровой, 2 цифры

z - день года, цифровой; т.е. "299"

Нераспознанные символы в форматной строке будут печататься как есть.

getdate -- получает информацию о дате/времени

array getdate (int timestamp);

Возвращает ассоциативный массив, содержащий информацию о дате со следующими элементами:

"seconds" - секунды

"minutes" - минуты

"hours" - часы

"mday" - день месяца

"wday" - день недели, цифровой

"mon" - месяц, цифровой

"year" - год, цифровой

"yday" - день года, цифровой; т.е. "299"

"weekday" - день недели, текстовый, полный; т.е. "Friday"

"month" - месяц, текстовый, полный; т.е. "January"

 

AddSlashes – Экранирование знаков. Возвращает строку с обратной чертой (/) перед символами, которые должны быть выделены в запросах к базам данных и т.п. Эти символы: ('), двойные кавычки ("), (\) и NUL (нулевой байт).

string addslashes(string str);

Chop -- удаляет повторяющиеся пробелы. Возвращает строку без повторяющихся пробелов.

string chop(string str);

explode -- разбивает строку на строки. Возвращает массив строк, содержащий элементы, разделенные строкой separator.

array explode(string separator, string string);

implode -- Объединяет массив элементов в строку. Возвращает строку, содержащую совокупность всех элементов массива в том же порядке, со строкой glue между каждым элементом.

string implode(array pieces, string glue);

ltrim -- Удаляет пробелы из начала строки. Эта функция удаляет пробелы из начала строки и возвращает обрезанную строку.

string ltrim(string str);

nl2br -- Переводит символы новой строки в HTML-тег разрыва строки. Возвращает string с '<BR>' вставляемыми перед каждой новой строкой.

string nl2br(string string);

sprintf -- возвращает форматированную строку. Возвращает строку, обрабатываемую в соответствии с форматирующей строкой format.

sprintf(string format, mixed [args]...);

Описатель типа, который говорит о том, как тип данных аргумента должен трактоваться. Возможные типы:

% - символ процента. Аргумент не требуется.

b - аргумент трактуется как integer и представляется как двоичное число.

c - аргумент трактуется как integer и представляется как символ с ASCII значением.

d - аргумент трактуется как integer и представляется как десятичное число.

f - аргумент трактуется как double и представляется как число с плавающей точкой.

o - аргумент трактуется как integer и представляется как восьмиричное число.

s - аргумент трактуется и представляется как строка.

x - аргумент трактуется как integer и представляется как шестнадцатиричное число (с буквами в нижнем регистре).

X - аргумент трактуется как integer и представляется как шестнадцатиричное число (с буквами в верхнем регистре).

strchr -- Находит первое появление символа.

string strchr(string haystack, string needle);

strcmp -- Двоичное сравнение строк (безопасное). Возвращает < 0 если str1 меньше чем str2; > 0 если str1 больше чем str2, и 0 если они равны. Следует отметить, что это сравнение чуствительно к регистру.

int strcmp(string str1, string str2);

strcspn

int strcspn(string str1, string str2);

StripSlashes -- удаляет символы \ из строки. Возвращает строку с вырезанными символами \. (\' заменяется на ' и так далее). Двойные \\ заменяются на \.

string stripslashes(string str);

strlen -- Возвращает длину строки

int strlen(string str);

strrev -- Переворачивает строку. Возвращает перевернутую строку string.

string strrev(string string);

strtolower -- Переводит строку в нижний регистр

string strtolower(string str);

 

strtoupper -- Переводит строку в верхний регистр

string strtoupper(string string);

substr -- Возвращает часть строки. Эта функция возвращает часть строки string, определяемую параметрами start (начало) и length (длина).

string substr(string string, int start, int [length]);

trim -- Обрезает пробелы с начала и с конца строки

string trim(string str);

Заключение

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

PHP и его расширения (dll файлы в папке ext – для Windows; so файлы для UNIX) доступен для большинства операционных систем, включая Linux, многие модификации Unix (такие как HP-UX, Solaris и OpenBSD), Microsoft Windows, Mac OS X, RISC OS, и многие другие. Также в PHP включена поддержка большинства современных веб-серверов, таких как Apache, IIS и многих других. В принципе, подойдет любой веб-сервер, способный использовать бинарный файл FastCGI PHP, например, lighttpd или nginx. PHP может работать в качестве модуля или функционировать в качестве процессора CGI.

Одним из значительных преимуществ PHP является поддержка широкого круга баз данных. Создать скрипт, использующий базы данных, - невероятно просто. Можно воспользоваться расширением, специфичным для отдельной базы данных (таким как mysql) или использовать уровень абстракции от базы данных, такой как PDO, или подсоединиться к любой базе данных, поддерживающей Открытый Стандарт Соединения Баз Данных (ODBC), с помощью одноименного расширения ODBC. Для других баз данных, таких как CouchDB, можно воспользоваться cURL или сокетами.

Дополнительный материал:

http://php.net/

Литература

Одесский колледж компьютерных технологий, PHP конспект лекций + практика.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...