Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vtoraya_chast_uchebnika_po_WWW_Okonchat_variant...doc
Скачиваний:
33
Добавлен:
27.09.2019
Размер:
6.06 Mб
Скачать

Пример 1‑16

<?php

$email = "mailname@mail.ru";

$domain = strstr($email, "@");

// или

$domain = strstr($email, ord("@"))

echo $domain;

// выведет @mail.ru

?>

в). Функции сравнения строк: strcmp, strcasecmp

в.1) функция strcmp

Синтаксис: int strcmp(string str1, string str2)

Эта функция сравнивает две строки посимвольно (точнее, побайтово) и возвращает:

0 - если строки полностью совпадают;

-1 - если строка str1 лексикографически меньше str2;

1 - если, наоборот, str1 "больше" str2.

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

в.2) функция strcasecmp

Сравнивает строки без учета регистра.

Синтаксис: int strcasecmp(string str1, string str2)

Пример 1‑17

<?php

$str1 = "Привет!";

$str2 = "привет!";

if(!strcasecmp($str1, $str2))

echo "$str1 == $str2 при сравнении строк без учета регистра";

?>

г). Функции возвращения длины строки: strlen()

Возвращает длину строки, которую принимает в качестве аргумента.

Пример 1‑18

<?

$string = "Hello, world!!!";

$string_len = strlen($string);

echo ($string_len);

?>

д). Функции перевода кода символа ASCII в фактический и обратно: chr() и ord()

Пример 1‑19

<?

$str = chr(36);

echo ($str); // возвращает символ "$"

$str = ord('$');

echo($str); // возвращает 36

?>

е). Функция замены в исходной строке одних подстрок на другие: substr_replace()

Синтаксис:

string substr_replace(string str, string replacement, int start [, int length])

Возвращает строку str, в которой часть от символа с позицией start и длиной length заменяется строкой replacement.

Если аргумент длины length не указан, замена проводится до конца.

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

1.4.3.8. Понятие «выражение» в php

Выражения - это краеугольный камень PHP. Почти все, что вы пишите в PHP, является выражением. Под выражением в PHP понимается то, что имеет значение. И обратно: если что-то имеет значение, то это "что-то" и есть выражение. Выражения являются "кирпичиками", из которых состоят PHP-программы. Главное в осмыслении понятия – выражения «держат» значения.

Основными (базовыми) формами выражений являются константы и переменные. Но они должны каким-либо способом обрабатываться в программе. Способы обработки задаются операторами. Простейшим из них является оператор присваивания. Например, если вы записываете:

$a = 100

вы присваиваете '100' переменной $a.

В приведенном примере $a - это переменная, знак «=» - это оператор присваивания, а 100 - выражение. Его значение 100.

Выражением может быть и переменная, если ей сопоставлено определенное значение:

$x = 7;

$y = $x;

В первой строке рассмотренного примера выражением является константа 7, а во второй строке - переменная $x, т.к. ранее ей было присвоено значение 7. $y = $x также является выражением.

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

<?php

function funct ()

{

return 5;

}

?>

Ясно, что запись $x = funct() абсолютно эквивалента записи $x = 5.

Функции - это выражения, значением которых является то, что возвращает функция. Поскольку funct() возвращает 5, значением выражения 'funct()' является 5. Как правило, функции возвращают не статическое значение, а вычисленное.

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

PHP - это язык, ориентированный на выражения и рассматривающий почти все как выражение. Вернемся к выражению: $x = 7. Легко заметить, что здесь присутствуют два значения - значение целочисленной константы '7' и значение переменной $x, также принимающей значение 7. Но на самом деле здесь присутствует и еще одно значение - значение самого присвоения. Само присвоение вычисляется в присвоенное значение, в данном случае - в 7. На практике это означает, что $x = 7 независимо оттого, что оно делает, является выражением со значением 7. Таким образом, запись $y = ($x = 7) равносильна записи $x = 7; $y = 7; (точка с запятой обозначает конец выражения). Поскольку операции присвоения анализируются справа налево, вы также можете написать '$y = $x = 7'.

Обобщая понятия выражения в PHP, можно сформулировать следующее определение:

Выражением называется совокупность выражений (операндов), соединённых математическими операндами (знаками операций): арифметическими, логическими. Базовыми (элементарными) выражениями являются строки, константы и переменные. Имя функции также является выражением (операндом).

Логические выражения

Логические выражения — это выражения, у которых могут быть только два значения: ложь и истина (или, что почти то же самое, 0 и 1). Однако если говорить более строго, то абсолютно любое выражение может рассматриваться как логическое в "логическом" контексте (например, как условие для конструкции if-else). Ведь в качестве TRUE (истины) может выступать любое ненулевое число, непустая строка и т.д., а под FALSE (ложью) подразумевается все остальное.

Для логических выражений справедливы все свойства логических переменных. Эти выражения, чаще всего, возникают при применении операторов >, < и == (равно), || (логическое ИЛИ), && (логическое И), ! (логическое НЕ) и других.

Например:

$a = 10 < 5; // $a = false

$a = $b==1; // $a=true

$a = $b >= 1&& $b <= 10; // $a = true, если $b в пределах от 1 до 10

$a = !($b || $c) && $d; // $a = true, если $b и $c ложны, а $d — истинно

Как осуществляется проверка истинности той или иной логической переменной? Точно так же, как и любого логического выражения:

$b = $a >= 1 && $a <= 10; // присваиваем $b значение логического выражения

if($b) echo "a в нужном диапазоне значений".

Подробнее, логические операции рассматриваются ниже.

Строковые выражения

Строки в PHP — одни из самых основных объектов. Они могут содержать текст вместе с символами форматирования или даже бинарные данные.

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

$a = "Это текст".