Привет, Гость!
home login register
[+] Купить Рекламу
Хостинг для тебя! Заходи не пожалеешь
Что мы делаем полезного на официальном сайте WAP-поддержки? Подробно ...
Вступайте в нашу группу ВКОНТАКТЕ
Поздравляем, новичка с ID:1000
Как самомусделать QR-код
IT новости: в Windows новая опасная уязвимость
Проблемы восприятия IT
Как подтвердить авторство в Google

Учебник PHP #3
<< 1 2 3 4 ... 6 >>
3.4. Строковые операторы

Пример


Название


Результат
$a = "abc"."def"

Конкатенация
Переменной $а присваивается результат конкатенации $а и $b

$а - "ghijkl"


Конкатенация с присваиванием


Переменной $а присваивается результат конкатенации ее текущего значения со строкой "ghijkl"

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

// $а присваивается строковое значение "Spaghetti & Meatballs" $а = "Spaghetti" . "& Meatballs"

// $а присваивается строковое значение "Spaghetti & Meatballs are delicious" $a .= "are delicious";

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

Операторы инкремента и декремента

Удобные вспомогательные операторы инкремента (++) и декремента (--), приведенные в табл. 3.5, делают программу более наглядной и обеспечивают укороченную запись для увеличения или уменьшения текущего значения переменной на 1.

Таблица 3.5. Операторы инкремента и декремента
Пример Название Результат
++$а, $а++ Инкремент Переменная $а увеличивается на 1
--$а, $а-- Декремент Переменная $а уменьшается на 1

Интересный факт: эти операторы могут располагаться как слева, так и справа от операнда. Действия, выполняемые оператором, зависят от того, с какой стороны от операнда он находится. Рассмотрим следующий пример:

$inventory = 15; // Присвоить Sinventory целое число 15

$old_inv = Sinventory--; // СНАЧАЛА присвоить $old_inv значение

// Sinventory. а ЗАТЕМ уменьшить Sinventory.

$orig_iinventory = ++inventory;// СНАЧАЛА увеличить Sinventory. а ЗАТЕМ

// присвоить увеличенное значение Sinventory

// переменной $orig_inventory.

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

Логические операторы

Логические операторы (табл. 3.6) наряду с математическими операторами играют важную роль в любом приложении РНР, обеспечивая средства для принятия решений в зависимости от значения переменных. Логические операторы позволяют управлять порядком выполнения команд в программе и часто используются в управляющих конструкциях (таких, как условная команда i f, а также циклы for и while).

Таблица 3.6. Логические операторы

Пример


Название


Результат

$а && $b


Конъюнкция


Истина, если истинны оба операнда ,

$aAND$b


Конъюнкция


Истина, если истинны оба операнда

$а И $b


Дизъюнкция


Истина, если истинен хотя бы один из операндов

$а OR $b


Дизъюнкция


Истина, если истинен хотя бы один из операндов

!$а


Отрицание


Истина, если значение $а ложно

NOT !$a


Отрицание


Истина, если значение $а ложно

$а XOR $b


Исключающая дизъюнкция


Истина, если истинен только один из операндов

Логические операторы часто используются для проверки результата вызова функций:

file_exists("filename.txt") OR print "File does not exist!";

Возможен один из двух вариантов:

файл filename.txt существует;
будет выведено сообщение: «File does not exist!».

Операторы равенства

Операторы равенства (табл. 3.7) предназначены для сравнения двух величин и проверки их эквивалентности.

Таблица 3.7. Операторы равенства

Пример


Название


Результат
$a==$b Проверка равенства Истина, если $а и $b равны
$а != $b Проверка неравенства Истина, если $а и $b не равны

$а === $b


Проверка идентичности


Истина, если $а и $b равны и имеют одинаковый тип

Даже опытные программисты часто допускают одну распространенную ошибку — они пытаются проверять равенство двух величин, используя всего один знак равенства (например, $а = $b). Помните, при такой записи значение $b присваивается $а, и желаемый результат не будет достигнут.

Операторы сравнения

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

Таблица 3.8. Операторы сравнения

Пример


Название


Результат

$a<$b


Меньше


Истина, если переменная $а меньше $b

$a>$b


Больше


Истина, если переменная $а больше $b

$a <= $b


Меньше или равно


Истина, если переменная $а меньше или равна $b

$a >= $b


Больше или равно


Истина, если переменная $а больше или равна $b

($a-12)?5: -1


Тернарный оператор


Если переменная $а равна 12, возвращается значение 5, а если не равна — возвращается 1

Обратите внимание: операторы сравнения предназначены для работы только с числовыми значениями. Хотя возникает искушение воспользоваться ими для сравнения строк, результат, скорее всего, окажется неверным. В РНР существуют стандартные функции для сравнения строковых величин. Эти функции подробно рассматриваются в главе 8.

Поразрядные операторы

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

Таблица 3.9. Десятичные числа и их двоичные представления
Десятичное целое Двоичное представление
2 10
5 101
10 1010
12 1100
145 10010001
1 452 012 1011000100111111101100

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

Таблица 3.10. Поразрядные операторы

Пример


Название


Результат

$а&$b


Конъюнкция


С битами, находящимися в одинаковых разрядах $а и $b, выполняется операция конъюнкции

$а|$Ь


Дизъюнкция


С битами, находящимися в одинаковых разрядах $а и $b, выполняется операция дизъюнкции

$а^$b




Исключающая


С битами, находящимися в одинаковых разрядах $а и $b, выполняется операция исключающей дизъюнкции

~$b


Отрицание


Все разряды переменной $b инвертируются

$а << $b


Сдвиг влево


Переменной $а присваивается значение $b, сдвинутое влево на два бита

$а >> $b


Сдвиг вправо


Переменной $а присваивается значение $b, сдвинутое вправо на два бита

Если вам захочется больше узнать о двоичном представлении и поразрядных операторах, я рекомендую обратиться к обширному электронному справочнику Рэндалла Хайда (Randall Hyde) «The Art of Assembly Language Programming», доступному по адресу http://webster.cs.ucr.edu/Page ... .html. Это лучший из ресурсов, которые мне когда-либо встречались в Web.

Управляющие конструкции

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

Проверка условий

Управляющие конструкции обычно проверяют
Комментарии (0)
<< 1 2 3 4 ... 6 >>
Скачать Java книгу

»php/mysql/pdo/js
В библиотеку

На главную

Сообщество wap разработчиков I HwapCMS официальный сайт поддержки


RSS-лента
Генерация: 0.0103 сек.