русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Сравнение сложных переменных


Дата добавления: 2013-12-23; просмотров: 947; Нарушение авторских прав


Операции сравнения

Битовые операции

Операции инкремента и декремента

Строковые операции

Операции

Арифметические операции ( а + b, а – b, а *b, а /b, а % b).

Операция деления / возвращает целое число (т. е. результат деления нацело), если оба выражения а и b — целого типа, в противном случае результат будет дробным. Операция вычисления остатка от деления % работает только с целыми числами, так что применение ее к дробным может привести, к нежелательному результату.

а.b — слияние строк а и b;

а[n] — символ строки в позиции n.

Собственно, других строковых операций и нет — все остальное, что можно сделать со строками в РНР, выполняют стандартные функции.

Для операций $а += 1 и $b-= 1 в связи с их чрезвычайной распространенностью в РНР ввели, как и в С, специальные операторы:

$а++ — увеличение переменной $а на 1;

$а-- уменьшение переменной $а на 1.

Как и в языке С, эти операторы увеличивают или уменьшают значение переменной, а в выражении возвращают значение переменной $а до изменения. Например:

$а = 10;

$b= $а++;

echo "а=$а, b=$b"; // выведет а=11, Ь=10

Существуют также парные операторы, которые указываются до, а не после имени переменной. Соответственно, и возвращают они значение переменной уже после изменения. Например:

$а = 10;

$b = --$а;

echo "a=$a, b=$b"; // выведет а=9, b=9

Эти операции предназначены для работы (установки/снятия/проверки) групп битов в целой переменной. Биты целого числа — это не что иное, как отдельные разряды того же самого числа, записанного в двоичной системе счисления.

а & b //Результат — число с установленными битами, которые выставлены и в а, и в b

одновременно.

а | b //Результат — число с установленными битами, которые выставлены либо в а,



либо в b, либо одновременно.

~ а //Результат, у которого на месте единиц в а стоят нули, и наоборот.

а << b //Результат — число, полученное поразрядным сдвигом а на b битов влево.

а>> b //Результат — число, полученное поразрядным сдвигом а на b битов вправо.

Операции сравнения позволяют сравнивать два значения между собой и, если условие выполнено, возвращают true, в противном случае — false.

а == b, а != b, а < b , а > b, а <= b, а >= b

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

В РНР версии 5 сравнивать на равенство или неравенство можно не только скалярные переменные (т. е. строки и числа), но также массивы и объекты.

$х = array(1, 2, "3") ;

$у = array(1, 2, 3);

echo "Равны ли два массива? ".($х == $у);

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

$х = array(1, 2, true);

$у = array(1, 2, 3) ;

echo "Равны ли два массива? ". ($х == $у);

Смотрите, на первый взгляд, массивы $х и $у сильно различаются. Но с точки зрения РНР 3==true. Поэтому нет ничего удивительного в сообщении программы о равенстве двух данных массивов. Опишем, как оператор == работает с объектами.

class AgentSmith {}

$smit = new AgentSmith();

$wesson = new AgentSmith();

echo ($smit == $wesson)

Хотя объекты $ smith и $wesson создавались независимо друг от друга и потому различны, они структурно выглядят одинаково (содержат одинаковые данные), а потому объекты совпадают. Вывод: две переменные равны в смысле ==, если они хранят одинаковые величины.



<== предыдущая лекция | следующая лекция ==>
Строковые выражения | Цикл с предусловием while


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.