Печать

PHP поддерживает восемь простых типов данных.

Четыре скалярных типа:

  • boolean (логический) ;
  • integer (целый) ;
  • float (с плавающей точкой) ;
  • string (строковый).

Два смешанных типа:

  • array (массив) ;
  • object (объект).

И два специальных типа:

  • resource (ресурс) ;
  • NULL.

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

Тип boolean (булев или логический тип) – это простейший тип выражает истинность значения. Переменная этого типа может иметь только два значения – истина TRUE или ложь FALSE .

Чтобы определить булев тип, используют ключевое слово TRUE или FALSE. Оба регистронезависимы.

<?php
$test = True;
echo $test;
?>

Логические переменные используются в различных управляющих конструкциях (циклах, условиях и т.п.). Иметь логический тип, т.е. принимать только два значения, истину или ложь, могут также и некоторые операторы (например, оператор равенства). Они также используются в управляющих конструкциях (условиях, циклах и т.п.) для проверки каких-либо условий. Например, в условной конструкции проверяется истинность значения оператора или переменной и в зависимости от результата проверки выполняются те или иные действия. Здесь условие может быть истинно или ложно, что как раз и отражает переменная и оператор логического типа.

Тип integer (целый). В начале немного математики. Натуральные числа (естественные числа) — числа, возникающие естественным образом при счёте (как в смысле перечисления, так и в смысле исчисления).
Существуют два подхода к определению натуральных чисел — числа, используемые при:

  • перечислении (нумеровании) предметов (первый, второй, третий, …);
  • обозначении количества предметов (нет предметов, один предмет, два предмета, …).

Отрицательные и нецелые (рациональные, вещественные, …) числа натуральными не являются. Ноль некоторые авторы включают в множество натуральных чисел, другие — нет.

Целые числа — расширение множества натуральных чисел, получаемое добавлением к множеству натуральных чисел нуля и отрицательных чисел вида -n. Необходимость рассмотрения целых чисел продиктована невозможностью, в общем случае, вычесть из одного натурального числа другое — можно вычитать только меньшее число из большего.

Таким образом, целое число (коротко, целое)- это число из множества Z = {..., -2, -1, 0, 1, 2, ...}.

Целое может быть представлено в следующих видах:

  • десятеричном (основа 10)
  • шестнадцатеричном (основа 16);
  • восьмеричном (основа 8);
  • двоичном (основа 2) (доступно с PHP 5.4.0).

Целому может предшествовать знаки - (минус) или + (плюс).

В шестнадцатеричной записи перед числом пишется префикс 0x.

В восьмеричной записи перед числом пишется префикс 0.

В двоичной записи перед числом пишется префикс 0b.

Структурно целое выглядить следующим образом:

десятичное: [1-9][0-9]*
| 0
шестнадцатеричное: 0[xX][0-9a-fA-F]+
восьмеричное: 0[0-7]+
двоичное: 0b[01]+
целое [+-]?decimal
| [+-]?hexadecimal
| [+-]?octal
| [+-]?binary

Пример:

<?php
$a = 1234; // десятеричное число
echo $a,"<br>";
$a = -123; // отрицательное число
echo $a,"<br>";
$a = 0123; // восьмеричное число (эквивалент десятеричного 83)
echo $a,"<br>";
$a = 0x1A; // шестнадцатеричное число (эквивалент десятеричного 26)
echo $a,"<br>";
//$a = 0b11111111; // двоичное число (эквивалент десятеричного 255)
//доступно с PHP 5.4.0

//echo $a,"<br>";
?>

Тип float (с плавающей точкой). Подробно о числах с плавающей точкой (вещественных числах) в PHP можно почитать на http://php.net/manual/ru/language.types.float.php, например.

Тут кратко изложим два момента.

Числа с плавающей точкой (также известные как "float", "double", или "real") могут быть определены следующими синтаксисами:

<?php
$a = 1.2345;
$b = 2.1e3;
$c = 8E-4;

echo "a=",$a,"<br>";
echo "b=",$b,"<br>";
echo "c=",$c,"<br>";
?>

В примере используются e3 и E-4. e3 = 10^3 = 1000. E-4 = 10^(-4) = 0,0001.

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

Для сравнения чисел с плавающей точкой используется верхняя граница относительной ошибки при округлении. Эта величина называется машинной эпсилон или единица округления (unit roundoff) и представляет собой самую маленькую допустимую разницу при расчетах.

$x и $y равны до 6-ти знаков после запятой.

<?php
$x = 12.3456789;
$y = 12.3456780;
$epsilon = 0.000001;

if(abs($x-$y) < $epsilon) {
echo "true";
}
?>

Контрольные вопросы и задания

  1. Протестируйте приведенные примеры изменив значения переменных.
  2. Приведите примеры, когда целесообразно использование типа integer.
  3. Приведите примеры, когда целесообразно использование типа float.

Добавить комментарий


Защитный код
Обновить

Произведение «OFTOB.COM» публикуется на условиях лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Непортированная.