Ваш первый Сайт С использованием РНР-скриптов
ОПЕРАТОРЫ И ДЕЙСТВИЯ НАД ПЕРЕМЕННЫМИ
Над переменными, как и над числами, можно проводить различные математические операции.
$chislo=$chislo+3 или $chislo+=3. В любом из этих случаев мы увеличиваем значение переменной $chislo на 3. Аналогично, чтобы уменьшить значение переменной на 3: $chislo=$chislo-3 Или $chislo-=3.
$chislo=$chislo*3 или $chislo*=3. Увеличиваем значение переменной в 3 раза. $chislo=$chislo/3 или $chislo/=3. Уменьшаем значение переменной в 3 раза. $chislo++. Увеличиваем значение переменной на 1. Аналогично, для уменьшения переменной на 1: Schislo—.
$chislo.$text. Точка между двумя переменными означает операцию конкатенации или соединения. Рассмотрим пример: Echo Schislo. $text;
Если у нас в переменной Schislo число 18, а в переменной $text фраза «Простой текст», то приведенная выше строка выведет в браузер без кавычек: «18Простой текст».
Можно записать немного по-другому, без символа конкатенации, но в кавычках:
Echo "$chislo$text";
Если вы просто напишете две переменные рядом без точки и кавычек: Echo Schislo $text;,
То в этом случае браузер выведет ошибку.
В приведенных выше примерах были рассмотрены арифметические операторы, а также оператор конкатенации.
Нам понадобится еще множество других операторов, которые мы и рассмотрим.
Операторы отношения - это операторы, применяемые для сравнения значений переменных. Сравниваться могут не только числа, но и строки. Выражения, содержащие операторы сравнения, возвращают значение либо True, Если выражение истинно, либо False, когда выражение ложно. Применяются следующие операторы отношения:
$а == $Ь - проверка на равенство. Выражение истинно, когда переменные равны;
$а!= $Ь - проверка на неравенство. Выражение истинно, когда переменные не равны;
$а> $Ь - проверка на больше. Выражение истинно, когда первая переменная больше второй;
$а < $Ь - проверка на меньше. Выражение истинно, когда первая переменная меньше второй;
$а>= $Ь - проверка на больше или равно. Выражение истинно, когда первая переменная больше или равна второй;
$а <= $Ь - проверка на меньше или равно. Выражение истинно, когда первая переменная меньше или равна второй;
$а === $Ь - проверка на идентичность (3 знака равенства). Здесь сравниваются не только значения, но и типы данных. Выражение истинно, когда первая переменная совпадает со второй переменной не только по значению, но и по типу. Например, если первая переменная имеет тип integer (целое число от -2 147 463 648 до 2 147 483 647), а вторая имеет тип double (вещественное число с плавающей точкой), то данные переменные будут не идентичны. Если, например, $а=4, а $Ь=4.0, то выражение $а===$Ь будет ложным.
Логические операторы:
$а && $Ь - возвращает True, если имеет место (истины выражения) и $а и $Ь (&& - логическое «и»);
$а || $Ь - возвращает True, если имеет место или $а или $Ь (|| - логическое «или»).
Условные операторы - операторы, проверяющие какое-либо выражение и в зависимости от значения этого выражения (истинно или ложно) выполняющие те или иные действия.
Оператор If. Его синтаксис If(выражение) {последовательность действий/. Если выражение в круглых скобках верно, то выполняется последовательность действий в фигурных скобках. Если выражение ложно, то все действия в фигурных скобках игнорируются. Есть другой синтаксис оператора: IfCвыражение)
{последовательность действий1}; else {последовательность действий2};
Если выражение в круглых скобках верно, то выполняется последовательность действий 1, иначе (если выражение ложно) выполняется последовательность действий2, после оператора Else.
Немного попрактикуемся. В редакторе создайте новый PHP-файл. Уберите из него все теги html, так как они нам здесь не нужны. Оставьте только две строки <?Php и?>. Между этими строками наберите следующий код (листинг 4.1).
Листинг 4.1 <?Php $а=10; $Ъ=20;
$с="Язык программирования РНР5"; $(1=млучший язык для построения сайта!"; $а/=2; $b*=3; $f=$b/$a;
If(($f>=$a+2)||($a*$b~5*$f)) {
Echo $c. M~M.$d; echo "<br>";
Echo "$f<br>$b"; }
Else {
Echo "PHP—это самый ".$d."<br>";
Echo $a.$b; }
?>
Сначала мы присваиваем переменным $а и $Ь числовые значения, а переменным $с и $d строковые выражения. Затем со значениями переменных $а и $Ь производим математические операции, $а делим на 2, а $Ь умножаем на 3. Переменной $f присваиваем значение, равное результату деления значения переменной $Ь на значение переменной $а. Все это можно разместить на одной строке, через точку с запятой. В результате числовые переменные получат следующие значения: $а=5; $b=60; $f=12.
Далее идет условный оператор if(($f>=$a+2)\($a*$b==5*$j)). Здесь проверяются сразу 2 условия. Между двумя условиями стоит логический оператор || (логическое «или»). Первое выражение в операторе if истинно (12>=5+2). Второе выражение ложно (5*60==5*12). Поскольку между двумя выражениями стоит логическое «или», то в целом общее выражение будет истинным, поскольку нам для истинности достаточно, чтобы хотя бы одно из выражений было истинным. В данном случае истинно первое выражение, а значит, все выражение оператора if истинно. Следовательно, будет выполняться код, который следует сразу за оператором :f в фигурных скобках. А там у нас идет вывод в окно браузера строковых переменных $с и $d, разделенных тире «-». Поскольку тире является тоже текстом, его заключают в двойные кавычки. Оператор $с, тире и оператор $d соединены между собой точкой, т. е. оператором конкатенации. Далее идет тег html, означающий здесь переход на следующую строку (<br>). В PHP-языке любые HTML-теги должны обязательно находиться в кавычках. Оператоэ echo выводит этот тег, вернее результат его действия в браузер. Далее тот же оператор echo выводит в браузер значения числовых переменных $f и $Ь, разделенных строкой (тегом <br>). Здесь переменные и разделитель строки находятся в общих двойных кавычках {echo "$f<br>$b"). Можно записать и пэ-другому: Echo $f"<br> ".$b;
Здесь мы используем оператор конкатенации Оба способа верны, но в любом случае любые теги html в программном коде РНР должны быть заключены в кавычки!
Если бы общее выражение в условном операторе if было бы ложным, то выполнился бы только тот код, который находится во вторых фигурных скобках, после оператора else.
Здесь также использованы кавычки и оператор конкатенации. Вместо строчки:
Echo "РНР - это самый ".$d. "<br> "
Можно было бы написать:
Echo "РНР - это самый $d<br> ",
Т. е. без использования оператора конкатенации.
Я специально использую разные записи, чтобы было понятно, что вывести значения переменных в окно браузера можно разными способами.
Сохраните созданный нами PHP-файл в рабочей папке нашего сервера Hdocs под любым именем, но обязательно с расширением Php Запустите браузер. В результате вы увидите:
Язык программирования РНР5 - лучший язык для построения сайта! 12 60
Выполнился программный код в первых фигурных скобках, поскольку общее выражение в условном операторе //истинно.
А теперь поменяйте в условном операторе логический оператор || на &&. Получим следующее условное выражение: If(($F>=$A+2)&&($A*$B==5*$J))
Оператор && обозначает логическое «и», т. е. чтобы общее выражение условного оператора было истинным, нужно, чтобы были истинны все условные выражения (у нас их два) в этом условном операторе. В нашем случае выражение в первых скобках истинно ($F>=$A+2), но выражение во вторых скобках ($A*$B==5*$F) ложно, поскольку 300 не равно 60. Следовательно, общее выражение условного оператора //ложно, поэтому будет выполняться программный код во вторых фигурных скобках, после оператора Else. Запустив браузер, мы увидим следующее: РНР - это самый лучший язык для построения сайта! 560
Число 560 получилось благодаря оператору конкатенации значений переменных $а и $Ь (у нас $а=5, $Ь=60), этот оператор не осуществляет арифметического сложения, а просто соединяет значения, как строки.
Оператор Switch. Он нужен, когда значение переменной нужно сравнить с определенной величиной и выполнить тот или иной фрагмент кода, в зависимости от результата сравнения. Синтаксис оператора выглядит следующим образом:
Switch (выражение) {
Case вариант 1:
Код
Break;
Case вариант2: код
Строганов А. С. Ваш первый сайт с использованием РНР-скриптов Break;
Default: код
}
Выражение в операторе switch сравнивается с вариантами (Вариант/, вариант2 и т. д.). Сработает только тог фрагмент кода, где вариант будет соответствовать значению выражения. Если выражение нг б>дет соответствовать ни одному из вариантов, то выполнится код после оператора default. Оператор break приостанавливает действие оператора switch. Оператор break не является обязательным. Если его убрать, то код будет выполняться дальше и после того, как будет найден вариант, соответствующий значению выражения в операторе switch. В общем случае данный оператор break используется для мг новенного выхода из какого-либо цикла. Для примера наберите в РНР - редакторе следующие строки:
Листинг 4.2 <?php $f=12; $а=5;
$с="Язык программирования РНР5"; $<1="лучший язык для построения сайта!";
Switch ($f) {
Case 10:
Echo "Выражение не равно 10"; break; case 12: echo "Выражение равно 12"; break;
Default:
Echo $c."~".$d;
} ?>
Допустим, выражение в операторе switch равно 12 ($F=!2). В этом случае выполнится код после оператора case 12, т. е. в окно браузера будет выведена фраза: «Выражение равно 12», после чего работа оператора switch завершится, поскольку дальше стоит оператор break.
Теперь поставьте в операторе Switch вместо переменной $/ переменную $а. Сохраните код и запустите браузер. Вы увидите выражение: «Язык программирования РНР5 - лучший язык для построения сайта/», т. е. сработает только код после ог. ерагора Default, поскольку значение выражения в операторе Switch ($а=5) не со ответствует ни одному из вариантов.
Операторы цикла - служат для многократного выполнения той или иной части кода до тех пор, пока выполняется некоторое условие. Самый распространенный из этих операторов - оператор For. Его синтаксис выглядит так: For (начальное значение счетчика цикла; условное выражение;
Шаг счетчика цикла) {программный код};
Начальное значение счетчика цикла - числовая переменная с неким начальным значением, с которого начинается выполнение программного кода цикла. Условное выражение - условие выполнения цикла. Программный код цикла будет выполняться до тех пор, пока условное выражение истинно. Шаг счетчика цикла - показывает, насколько будет увеличено значение счетчика после каждого однократного выполнения кода цикла.
Наберите в РНР-рсдакторе следующие строки:
Листинг 4.3 <?php $к=1;
For($i=l; $i<=10; $i~+) {
$k=$k*$i;
}
Echo $k;
?>
Здесь приведен простой PHP-сценарий для вычисления факториала числа. В операторе цикла For в качестве счетчика цикла выступает переменная $I. Выражение $I< = 10 говорит о том, что код цикла (то, что находится в фигурных скобках) будет выполняться, пока значение переменной $I не превосходит 10. Выражение 5/+-- означает, что после каждого однократного выполнения кода в фигурных скобках значение переменной $I увеличивается на единицу. Код в фигурных скобках у нас будет выполняться 10 раз. Переменная $к у нас будет увеличиваться в $I раз после каждого выполнения кода. Когда значение переменной $I будет равно 11, условное выражение в операторе For станет ложным ($I<=10) и цикл прервется. Начнется выполнение кода, расположенного после закрывающейся фигурной скобки оператора цикла, т. е. в окно браузера выведется значение переменной $к (3628800=1*2*3*4*5*6*7*8*9*10).
Вкратце рассмотрим другие операторы цикла.
Оператор цикла while Имеет синтаксис: While (условие) { программный код }
Это цикл с условием. Команды в фигурных скобках выполняются до тех пор, пока выполняется условие в круглых скобках цикла while. Для того чтобы цикл прервался, нужно, чтобы условие выполняться перестало, т. е. стало ложным. Поэтому внутри цикла необходимо предусмотреть возможность влиять на это условие. Скажем, цикл while ($i<=10) {...программный код... ; $i++; } будет выполняться до тех пор, пока значение переменной $i не превысит 10. Если изначально оно было равно 1, то цикл выполнится 10 раз.
Цикл do...while Имеет синтаксис: Do {программный код } while (условие)
Он работает так же, однако команды, указанные в фигурных скобках, будут выполнены по меньшей мере 1 раз. - даже если условие выполняться не будет, так как условие для выполнения цикла проверяется уже после выполнения программного кода. л
Рассмотрим теперь некоторые функции в РНР для работы с файлами, которые нам понадобятся для создания счетчиков посещения на страницах сайта.