Содержание.
Именование переменных.
Оператор присвоения.
Область видимости переменной.
Статическая переменная.
Приведение типов.
Константа.
Теги php.
Оператор вывода echo.
Немного о строках.
О инструкциях.
Группирование инструкций.
Операторы ветвления.
a)Оператор if.
б)Оператор if..else.
в)Оператор if..elseif..else
Операции отношения.
Логические операции.
а)Логическое И
б)Логическое ИЛИ
в)Логическое НЕ
Цикл for.
Цикл while.
Цикл do..while.
Операторы break и continue.
Оператор switch.
Вложенный цикл.
Арифметические операции.
Инкремент и декремент.
О функциях.
Предопределенные переменные.
a)$_GET.
б)$_POST.
Массивы.
а)Одномерный массив.
б)Двумерный массив.
в)Ассоциативные массивы.
Переменные переменных.
Подробнее о теге <input>.
Тег <textarea>.
Создание html-формы.
HTTP Cookies.
Работа с файлами.
а)Печать файла.
б)Запись в файл.
Текстовое поле с ограничением ввода.
SQL.
Подключение к mysql.
Устаревшая функциональность.
Именование переменнных.
Имя переменной начинается с символа доллара - $.Имя переменной должно начинаться либо со знака подчеркивания либо с любой латинской буквы.
Формирование имени переменной осуществляется из букв,цифр и знаков подчеркивания.
Имена переменных не должны совпадать со служебными словами.
Имена переменных чувствительны к регистру символов.Переменная $variable - это не тоже самое,что переменная $VARiable.
Объявление переменной делается без явного определения типа.
Оператор присвоения =.
Оператор присвоения обозначается знаком равно =.С помощью этого оператора можно установить определённое значение.
Вот пример использование оператора присвоения.
$var = 1;
$symbols = "hello";
Область видимости переменной.
Существуют глобальная и локальная области видимости переменной.Переменная размещенная в глобальной области видимости доступна в любой точке скрипта.Переменная размещенная в локальная области видимости доступна только в той функции,в которой была определена.
Статическая переменная.
Статическая переменная - разновидность локальной переменной.Время жизни статической переменной соответствует времени жизни глобальной переменной.
Приведение типов.
Переменная имеет определенный тип.Приведение - это преобразование из одного типа в другой тип.В php существует восемь типов:boolean,integer,float,string,array,object,resource,NULL.Но приведение допускается только к части из этих типов.
Чтобы привести переменную к булеву типу - boolean,нужно указать имя типа в круглых скобках перед переменной,требующей приведения.
<?php
$number = 1; // это целочисленный тип - integer.
$boolvariable = (boolean)$number; // операция приведения к булеву типу.
?>
Константа.
Константу в отличие от переменной невозможно модифицировать во время выполнения программы.Функция define используется для определения значения константы.
Пример определения константы.
define("CONSTANT", "constant text");
Теги php.
Php-программа должна начинаться с открывающего тега php <?php и заканчиваться завершающим тегом ?>.В некоторых случаях завершающий тег можно опустить.Код,расположенный внутри этих тегов, исполняется php-интерпретатором.
Оператор вывода echo.
Данный оператор позволяет выполнить вывод некоторых данных в окно браузера.На практике,оператор вывода используется для формирования динамического сайта.Аналогичное поведение в php имеет конструкция print.
<?php
$var = 1;
$symbols = "hello";
echo $var;
echo $symbols;
?>
Для определения типа данных переменной используется функция gettype.Параметром является имя переменной.
<?php
$var = "hello";
echo 'Переменная имеет $var тип данных '.gettype($var);
?>
Немного о строках.
Строка представляет собой множество символов.Строки определяются с помощью одинарных и двойных кавычек.
$firststring = 'это строка';
$secondstring = "это тоже строка";
Строки объединяются оператором конкатенации,который в php обозначается не знаком плюс, а знаком точка.
<?php
$firststring = 'это строка';
$secondstring = "это тоже строка";
$thirdstring = $firststring ." ". $secondstring;
echo $thirdstring;
?>
Строки в одинарных кавычках интерпретатор php выводит без изменений, в двойных кавычках уже имеют некоторые нюансы,которые нужно знать,чтобы формировать динамические текстовые данные.
О инструкциях.
Каждая инструкция в php должна завершаться точкой запятой.Надо заметить,что возможно создание интерпретатора,который не требует завершения инструкций точкой запятой.
Разработчики php решили,что точка с запятой в конце каждой инструкции необходимы.
Группирование инструкций.
Группирование инструкций осуществляется с помощью фигирных скобок и используется в скриптах для объединения инструкций в блоки.Группирование инструкций применяется в операторах ветвления и в циклах.
Операторы ветвления.
Оператор if.
if (условие)
{
сюда помещается код.
}
Если условие истинно,то код выполняется.
Оператор if..else.
if (условие)
{
сюда помещается блок кода 1.
}
else
{
сюда помещается блок кода 2.
}
Если условие истинно,то выполняется блок кода 1.В противном случае,если условие ложно - выполняется блок кода 2.
Пример оператора if..else.
<?php
$firstnumber = 10;
$secondnumber = 50;
if (firstnumber === $secondnumber)
{
echo "числа эквивалентны";
}
else
{
echo "числа не эквивалентны";
}
?>
Оператор if..elseif..else
if (условие)
{
сюда помещается блок кода 1.
}
elseif (условие)
{
сюда помещается блок кода 2.
}
else
{
сюда помещается блок кода 3.
}
Если первое условие истинно,то выполняется блок кода 1.Если второе условие верно - выполняется блок кода 2.Когда первое и второе условия ложны выполняется блок кода 3.
Пример if..elseif..else.
<?php
if (false)
{
echo "блок кода 1.";
}
elseif (false)
{
echo "блок кода 2.";
}
else
{
echo "блок кода 3.";
}
?>
Операции отношения.
Операции отношения служат для сравнивания двух значений между собой.
Вот их список.
Равно обозначается ==
Тождественно равно обозначается ===
Не равно обозначается !=
Тождественно не равно обозначается !==
Меньше обозначается <
Больше обозначается >
Меньше или равно <=
Больше или равно >=
Логические операции.
Логические операции позволяют выполнять участки кода в зависимости от ложности или истинности логического выражения.
Логическое И.
Логическое И обозначается двумя амперсандами &&.
if ($number > 5 && $number < 10)
{
echo number;
}
Вышеприведённый код покажет число в браузере только в том случае,если переменная $number больше 5 и при этом меньше 10.
Логическое ИЛИ.
Логическое ИЛИ обозначается двумя вертикальными чертами ||.
if ($number < 0 || $number > 10)
{
echo number;
}
Вышеприведённый код покажет число в браузере только в том случае,если переменная $number является отрицательным числом или числом большим чем 10.
Логическое НЕ.
Логическое НЕ обозначается восклицательным знаком !.
$number = 5;
if (!($number == 5))
{
echo $number;
}
Вышеприведённый код покажет число в браузере только в том случае,если переменная $number не равна 5.
Цикл for.
for (expression1; expression2; expression3)
{
сюда помещается код;
}
Инициализация цикла for производится в expression1.
Проверка продолжения цикла for производится в expression2.
Операция,влияющая на условие продолжения цикла for производится в expression3.
Пример цикла for.
<?php
for ($x = 0; $x <= 10; $x++)
{
echo $x;
echo "<br>";
}
?>
Цикл while.
while (условие)
{
сюда помещается код;
}
Когда условие цикла станет ложным,тогда выполнение тела цикла прекратится.
Телом цикла называется код,помещенный между фигурными скобками цикла.
Цикл do..while.
do
{
сюда помещается код;
}
while(условие)
Тело цикла do..while выполняется один раз,даже если условие является ложным.
Пример цикла while
<?php
$iteration = 0;
while($iteration < 10)
{
$iteration++;
echo "тело цикла";
echo "<br>";
}
?>
Пример цикла do..while
<?php
$iteration = 0;
do
{
$iteration++;
echo "тело цикла";
echo "<br>";
}while($iteration == 0)
?>
Операторы break и continue.
Оператор break используется для выхода из текущего цикла - прекращения выполнения тела цикла.
Оператор continue используется для перехода к следующей итерации цикла.
Пример использования break и continue.
<?php
for ($i = 0; $i < 10;$i++){
if ($i < 5){
continue;
}else{
echo "итерация цикла номер $i";break;}
}
?>
Оператор switch.
switch ($expression)
{
case метка1:
блок кода 1
break;
case метка2:
блок кода 2
break;
default:
блок кода 3
}
Оператор switch сравнивает метки c выражением $expression.Если метка совпадает с выражением,то выполняется код определенный до оператора break.Код,определенный меткой default - выполняется в том случае,если все другие метки не совпали с выражением expression.
Пример использования switch.
<?php
$programminglang = "C";
switch ($programminglang)
{
case "PHP":
echo "Ваш любимый язык программирования PHP";
break;
case "C":
echo "Ваш любимый язык программирования С";
break;
case "C++":
echo "Ваш любимый язык программирования С++";
break;
default:
echo "Ваш любимый язык программирования ASM";
}
Вложенный цикл.
Пример вложенного цикла.
<?php
for ($i = 0; $i < 10;$i++)
{
for ($r = 0; $r < 10;$r++)
{
$result = $i * $r;
echo "$i * $r = $result <br>";
}
}
?>
Переменная $result получает результат умножения итераций.В данном случае итерации имеют имена $i и $r.
Можно сказать,что второй цикл является телом первого цикла.
Во втором цикле непосредственно происходит умножение и вывод таблицы умножения с помощью оператора echo.
Числовая переменная,помещенная в кавычки,выводится на экран без проблем.
Арифметические операции.
Арифметические операции вычисляются в соответствии с правилами математики.То есть умножение и деление операндов выполняется в первую очередь,сложение и вычитание во вторую очередь.А выражения,заключенные в скобки,имеют высший приоритет.
Пример использования арифметических операций.
<?php
$firstvar = 10;
$secondvar = 5;
echo $firstvar + $secondvar;
echo "<br>";
echo $firstvar - $secondvar;
echo "<br>";
echo $firstvar / $secondvar;
echo "<br>";
echo $firstvar * $secondvar;
echo "<br>";
echo $firstvar / ($secondvar - 4);
?>
Инкремент и декремент.
Инкремент и декремент - простейшие операции с переменной.Инкремент выполняет увеличение переменной на единицу и обозначается двумя плюсами.Декремент выполняет уменьшение переменной на единицу и обозначается соответственно двумя минусами.
Существуют префискная и постфикная форма как инкремента,так и декремента.
Пример инкремента и декремента.
<?php
$firstvar = 10;
$firstvar++; # это постфиксная форма инкремента
$firstvar--; # это посфиксная форма декремента
++$firstvar;
--$firstvar;
echo $firstvar;
?>
О функциях.
Функция - одно из фундаментальных понятий в программировании.Функция - это обособленная часть программы,выполнение кода которой осуществляется с помощью её имени.На формирование имени функции налагаются те же самые правила,что и на именование переменной.Едиственное отличие в именовании функции от именования переменной - регистронезависимость.
function newuserfunction()
{
сюда помещается блок кода.
}
У функции могут быть аргументы.Аргументы разделяются запятой.В теле функции аргументы используются,как переменные.
function newuserfunction($arg1,$arg2...)
{
сюда помещается блок кода.
}
Пример функции.
<?php
function newuserfunction($argument)
{
echo $argument;
}
newuserfunction("первый аргумент");
?>
Возвращаемое значение функции передаётся в запросивший модуль программы при помощи оператора return.
<?php
function funcaddition($argument1,$argument2)
{
return ($argument1 + $argument2);
}
funcaddition(5,5);
?>
Аргументы по умолчанию.
Аргументы по умолчанию - это довольно-таки интересный аспект функций.Он позволяет "впаять" значение аргумента в функцию.Впаянный аргумент можно не указывать при вызове.
<?php
function func1($argument1 ="арг 1 по умолчанию",$argument2="арг 2 по умолчанию")
{
echo $argument1;
echo '<br>';
echo $argument2;
}
func1();
?>
Предопределенные переменные
$_GET.
Массив $_GET содержит переменные в том случае,если скрипту были переданы параметры в адресной строке.
$_POST.
Массив $_POST содержит переменные в том случае,если в скрипте используется метод запроса post протокола http.
Пример использования массива $_GET.
<?php
echo $_GET['name'];
?>
Доступ к переменным массива $_POST выполняется аналогично доступу к переменным массива $_GET.
Массивы.
Массив предназначен для хранения данных одного типа.Доступ к данным осуществляется индексацией.Индексация начинается нуля.
Одномерный массив.
Языковая конструкция array используется для создания массива.Цикл служит для перебора элементов массива.Размерность массива - количество элементов можно определить вызовом функции count.Индекс указывается в квадратных скобках.
Перебор массива.
<?php
$arr = array(1,2,3,4,5);
for ($i=0;$i < count($arr);$i++)
{
echo "Элемент массива " .$arr[$i];
echo "<br>";
}
?>
Первый элемент имеет индекс 0.То есть,$arr[0] - первый элемент массива.
Массив $arr можно задать по другому.
$arr[0] = 10;
$arr[] = 20;
$arr[] = 30;
$arr[] = 40;
$arr[] = 50;
Если не указать индекса в квадратных скобках и если данный массив существует,то php установит для этого элемента последний индекс массива,увеличенный на единицу.
Таким образом,в нашем примере элемент со значением 10 получит определенный нами индекс 0, элемент с значением 20 получит индекс 1,элемент со значением 30 получит индекс 2 и так далее.
Двумерный массив.
Для доступа к элементу двумерного массива используются два индекса.
Перебор двумерного массива.
<?php
$arr = array( array("2 в степени 5 = ","32"),
array("2 в степени 6 = ","64"),
array("2 в степени 7 = ","128"));
for ($i = 0; $i < 3; $i++)
{
for ($j=0; $j <3; $j++)
{
echo $arr[$i][$j];
}
echo "<br>";
}
?>
Ассоциативные массивы.
Ассоциативные массивы отличаются от обычных массивов тем,что в качестве индекса в них применяется строка.Для перебора ассоциативного массивы удобно использовать цикл foreach.
<?php
$arr = ["key_1" => "1", "key_2" => "2", "key_3" => "3"];
foreach($arr as $varkey => $varvalue)
{
echo "{$varkey} : {$varvalue}<br />";
}
?>
Переменные переменных.
Переменные переменных - это довольно интересная и в то же время экзотическая концепция.Значение некоторой переменной является именем для другой переменной.
<?php
$variable = "newvariable";
$$variable = "sometext";
echo $variable;
echo "<br>";
echo $newvariable;
?>
Подробнее о теге <input>.
В языке гипертекстовой разметки существует множество элементов интерфейса.
Первым элементом,который мы рассмотрим - будет текстовое поле.
Однострочное текстовое поле определяется вот таким HTML-кодом.
<input type=text size=40 name=nuser value="your name">
Атрибут тега <input> - type определяет разновидность отображаемого элемента.
Атрибут тега <input> - size определяет ширину текстового поля.
Атрибут тега <input> - name определяет наименование поля,что потом можно будет использовать в обработчике формы.
Атрибут тега <input> - value формирует символьную строка,которая будет отображаться в текстовом поле по умолчанию.
Разновидность текстового поля(password),которое отличается от обычного поля тем,что введенное в него символы отображаются звездочками.
<input type="password" name="passbn">
Скрытное поле (hidden) невидимо на веб-странице,но программист может его использовать в своих целях.
<input type="hidden" name="idbutton">
Следующий рассматриваемый элемент называется кнопка сброса(reset).Устанавливает элементы формы в первоначальное состояние.
<input type="reset" name="resbutton">
Следующий рассматриваемый элемент называется флажок(checkbox).Позволяет сделать множественный выбор.
<input type="checkbox" name="car1" value="car1">Шестерка
<br>
<input type="checkbox" name="car2" value="car2">Семерка
Каждый флажок - это независимый графический элемент и может использовать отдельно от другого.
Следующий рассматриваемый элемент называется переключатель или радио-кнопка (radio).Позволяет сделать один выбор из множества предложенных вариантов.
<input type="radio" name="variant" value="чай">Чай<br>
<input type="radio" name="variant" value="кофе">Кофе<br>
<input type="radio" name="variant" value="сок">Сок<br>
Следующий рассматриваемый элемент - изображение (image).
<input type="image" src="car.gif">
Атрибут src - используется для указания относительного или абсолютного пути к графическому изображению.Если указан неправильный путь,то браузер отобразит стандартное изображение,символизирующие о том,что изображение по указанному пути не найдено и следовательно не может быть отображено.
Элемент file - предназначен для указания имени файла,имеет диалоговое окно,в котором можно вписать вручную либо выбрать местоположение файла мышкой.
<input type="file" name="pathfile">
Тег <textarea>.
Тег <textarea> - создает многострочную текстовую область.
<textarea rows="10" cols="45" name="text"></textarea>
Атрибут cols - определяет ширину количеством символов моноширинного шрифта.
Атрибут rows - высота,задаваемая количеством строк.
Текст по умолчания задается внутри тега <textarea>.В однострочном для этого используется атрибут value.
Если забыть закрыть тег <textarea> весь последующий текст,идущий в документе,будет отображен,как часть многострочной текстовой области.
Создание html-формы.
Программирование на php сопряжено с созданием html-элементов,которые используются для взаимодействием с пользователем.Если необходимо обработать данные,то нужно элементы тега <input>,который был рассмотрен выше,поместить в специальный контейнер <form>.В противном случае серверный скрипт не получит введенных данных.
Тег <form> имеет два атрибута:action и method.Первый атрибут указует на сценарий,обрабатывающий форму.Второй атрибут определяет метод запроса.Тут возможны варианты:get и post.
Элементы тега <input> вкладываются в тег <form>.
Общая схема вложения:
<form>
элемент 1
элемент 2
элемент 3
</form>
Далее представлена простая форма.
<form action="" method="get">
<input type="text" name="username"/>
<input type="submit" name="go" value="отправить"/>
</form>
Отправка данных скрипту осуществляется нажатием на форме специальной кнопки submit.
В данном примере после отправки данных php будут доступны значения двух переменных - username и go в массиве $_GET.
Следующий сценарий выполняет вывод полученного ввода.
<?php
if ($_GET['go'])
{
echo "Здравствуйте ".$_GET['username'];
}
?>
HTTP Cookies.
Функция setcookie используется для создания куков.Она должна быть вызвана в скрипте раньше любого вывода в браузер,иначе кук не будет установлен.Данный ниже код устанавливает кук,который автоматически удалится через тридцать секунд.
<?php
setcookie("Testcookie", "Тестовая строка", time()+30);
echo $_COOKIE['Testcookie'];
?>
Счетчик посещений.
<?php
if (isset($_COOKIE['counter']))
{
$_COOKIE['counter']++;
}
else
{
$_COOKIE['counter']= 1;
}
setcookie("counter", $_COOKIE['counter'], time()+3600);
echo "Вы посещали эту страницу {$_COOKIE['counter']} раз";
?>
Печать файла.
Иногда возникает необходимость использовать файлы в скриптах.Для этого в php есть функции,с помощью которых возможно выполнять манипуляции с файлами.
Функция fopen - применяется для создания дескриптора файла,который впоследствии используется другими встроенными файловыми функциями.
Два параметра,передаваемые в функцию fopen являются обязательными.
Первый параметр указывает путь к файлу,второй параметр задает режим,в котором должен быть открыт файл.Например,открытие файла для чтения задается параметром 'r'.Открытие файла только для записи указывается параметром 'a'.
Функция filesize используется для получения размера файла.Имеет единственный параметр,который является путём к файлу.
Функция fread - получает содержимое файла.Первый параметр - это дескриптор файла,создаваемый функцией fopen.Второй параметр задаёт количество байтов для чтения.
Используя эти три файловые функции и оператора echo,можно выполнить печать содержимого файла на экран.
<?php
$filename = "somefile.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
echo $contents;
?>
Запись в файл.
Функция fwrite() записывает данные,определённые во втором аргументе.
Добавление данных в конец файла можно осуществить этой функцией.
<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, 'line');
fclose($fp);
?>
Текстовое поле с ограничением ввода.
Создать текстовое поле с ограничением в HTML просто:
<input type="text" maxlength="100">
Ограничение ввода можно реализовать на серверной стороне.Именно это и сделано в следующем листинге.
<?php
function CreateForm($symtext)
{
echo '<form method="post" action="">';
echo '<input type="text" name=LimitText value='.$symtext.'>';
echo '<br>';
echo '<input type="submit">';
echo '</form>';
}
if (strlen($_POST['LimitText']) <= 5)
{
$symtext = $_POST['LimitText'];
CreateForm($symtext);
}
else
{
CreateForm("");
echo "Количество введенных символов больше пяти";
}
?>
SQL.
Более-менее крупные веб-приложения используют запросы к базам данных.Запросы к базам данных составляются на так называемом SQL - языке структурированных запросов.Управление данными осуществляется с помощью SQL.
Язык SQL имеет богатый арсенал конструкций,которые позволяют выполнять различные операции над базой данных такие как:создание новой таблицы,добавление,модификацию,удаление,получение данных из таблицы или даже из нескольких таблиц в полном соответствии с условиями,определёнными программистом.
Зарезервированные слова SQL в обычной практике пишутся прописными буквами.
Подключение к mysql.
Чтобы соединиться с сервером mysql,нужно использовать функцию mysql_connect с тремя параметрами.Первый параметр указывает сервер,второй - имя пользователя,третий - пароль.
Функция mysql_error() - возвращает ошибку,если таковая произошла.
Функция mysql_close() - закрывает соединение с сервером.
<?php
$hdcon = mysql_connect("localhost", "mquser", "mypassword");
if (!$hdcon)
{
echo "Соединение не установлено " . mysql_error();
exit();
}
echo "Соединение установлено";
mysql_close($hdcon);
?>
Если соединение установлено,то скрипт победоносно об этом сообщит.
Устаревшая функциональность.
Иногда разработчики ядра языка программирования php производят изменения,которые отражаются на его синтаксисе.По моему мнению некоторые изменения можно оценивать как троллинг.Хотя конечно некоторые модификации действительно улучшают восприятие php.
|