Целочисленные типы данных php

PHP Data Types

Summary: in this tutorial, you will learn about PHP data types including scalar types, compound types, and special types.

Introduction to PHP data types

A type specifies the amount of memory that allocates to a value associated with it. A type also determines the operations that you can perform on it.

PHP has ten primitive types including four scala types, four compound types, and two special types:

Scalar types

Compound types

Special types

Scalar types

A variable is a scalar when it holds a single value of the type integer, float, string, or boolean.

Integer

Integers are whole numbers defined in the set . The size of the integer depends on the platform where PHP runs.

The constant PHP_INT_SIZE specifies the size of the integer on a specific platform. PHP uses the int keyword to denote the integer type.

The following example illustrates some integers:

 $count = 0; $max = 1000; $page_size = 10;Code language: HTML, XML (xml)

Float

Floats are floating-point numbers, which are also known as floats, doubles, or real numbers.

PHP uses the IEEE 754 double format to represent floats. Like other programming languages, floats have limited precision.

PHP uses the float keyword to represent the floating-point numbers. The following example illustrates the floating-point numbers in PHP:

 $price = 10.25; $tax = 0.08;Code language: HTML, XML (xml)

Boolean

Boolean represents a truth value that can be either true or false . PHP uses the bool keyword to represent the Boolean type.

The bool type has two values true and false . Since keywords are case-insensitive, you can use true , True , TRUE , false , False , and False to indicate boolean values.

The following example shows how to assign Boolean values to variables:

 $is_admin = true; $is_user_logged_in = false;Code language: HTML, XML (xml)

When you use the values of other types in the boolean context, such as if-else and switch-case statements, PHP converts them to the boolean values.

PHP treats the following values as false :

  • The false keyword.
  • The integer 0 and -0 (zero).
  • The floats 0.0 and -0.0 (zero).
  • The empty string ( «» , » ) and the string “0”.
  • The empty array ( array() or [] ).
  • The null .
  • The SimpleXML objects created from attributeless empty elements.

The values that are not one of these falsy values above are true .

String

A string is a sequence of characters surrounded by single quotes (‘) or double quotes (“). For example:

 $str = 'PHP scalar type'; $message = "PHP data types";Code language: HTML, XML (xml)

Compound types

Compound data includes the values that contain more than one value. PHP has two compound types including array and object.

Array

An array is an ordered map that associates keys with values. For example, you can define a list of items in a shopping cart like this:

 $carts = [ 'laptop', 'mouse', 'keyboard' ];Code language: HTML, XML (xml)

The $carts array contains three string values. It maps the index 0 , 1 , and 2 to the values ‘laptop’ , ‘mouse’ , and ‘keyboard’ . The $carts is called an indexed array because it uses numeric indexes as keys.

To access a value in an array, you use the square brackets:

 echo $carts[0]; // 'laptop' echo $carts[1]; // 'mouse' echo $carts[2]; // 'keyboard'Code language: HTML, XML (xml)

Besides numeric indexes, you can use strings as keys for the array elements. These arrays are known as associative arrays. For example:

 $prices = [ 'laptop' => 1000, 'mouse' => 50, 'keyboard' => 120 ];Code language: HTML, XML (xml)

To access an element in an associative array, you specify the key in the square brackets. For example:

 echo $prices['laptop']; // 1000 echo $prices['mouse']; // 50 echo $prices['keyboard']; // 120Code language: HTML, XML (xml)

Object

An object is an instance of a class. It’s a central concept in object-oriented programming.

An object has properties. For example, a person object may have the first name, last name, and age properties.

An object also has behaviors, which are known as methods. For example, a person object can have a method called getFullName() that returns the full name.

To learn more about objects, check out the object tutorial.

Special types

PHP has two special types: null and resource

Null

The null type has one value called null that represents a variable with no value.

Resource

The resource type holds a reference to an external resource, e.g. a filehandle or a database connection.

Summary

  • PHP has four scalar types, four compound types, and two special types.
  • Scale types: integer, float, string, and boolean.
  • Compound types: array and object.
  • Special types: null and resource.

Источник

Целочисленные типы данных php

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

В PHP есть десять базовых типов данных:

  • bool (логический тип)
  • int (целые числа)
  • float (дробные числа)
  • string (строки)
  • array (массивы)
  • object (объекты)
  • callable (функции)
  • mixed (любой тип)
  • resource (ресурсы)
  • null (отсутствие значения)

Из этих типов данных первые четыре являются скалярными: bool, int, float, string . Поэтому вначале именно их и рассмотрим.

int (целочисленный тип)

Представляет целое число со знаком.

Здесь переменная $num представляет целочисленный тип, так как ей присваивается целочисленное значение.

Кроме десятичных целых чисел PHP обладает возможностью использовать также двоичные, восьмеричные и шестнадцатеричные числа. Шаблоны чисел для других систем:

"; echo "num_2 = $num_2 
"; echo "num_8 = $num_8
"; echo "num_16 = $num_16"; ?>

Переменная типа int занимает в памяти 32 бита, то есть может принимаь значения от -2 147 483 648 до 2 147 483 647. Если переменная получает числовое значение вне этого диапазона, то она трактуется как переменная типа float

Тип float (числа с плавающей точкой)

Размер числа с плавающей точкой зависит от платформы. Максимально возможное значение, как правило, составляет 1.8*10 308 с точностью около 14 десятичных цифр. Например:

Тип bool (логический тип)

Переменные логического типа могут принимать два значения: true и false или иначе говоря истина и ложь . Чаще всего логические значения используются в условных конструкциях:

Тип string (строки)

Для работы с текстом можно применять строки. Строки бывают двух типов: в двойных кавычках и одинарных. От типа кавычек зависит обработка строк интерпретатором. Так, переменные в двойных кавычках заменяются значениями, а переменные в одинарных кавычках остаются неизменными.

"; echo $result; $result = '$a+$b'; echo $result; ?>

В этом случае мы получим следующий вывод:

Кроме обычных символов, строка может содержать специальные символы, которые могут быть неправильно интерпретированы. Например, нам надо добавить в строку кавычку:

Данная запись будет ошибочна. Чтобы исправить ошибку, мы можем сочетать различные типы кавычек (‘Модель «Apple II»‘ или «Модель ‘Apple III'») или использовать слеш, чтобы ввести кавычку в строку:

Специальное значение null

Значение null указывает, переменная не имеет значения. Использование данного значения полезно в тех случаях, когда мы хотим указать, что переменная не имеет значения. Например, если мы просто определим переменную без ее инициализации, и затем попробуем ее использовать, то нам интерпретатор выдаст сообщение, что переменная не установлена:

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

Константа null не чувствительна к регистру, поэтому мы можем написать и так:

Динамическая типизация

Поскольку PHP — язык с динамической типизацией, то мы можем присваивать одной и той же переменной значения разных типов:

id = $id

"; $id = "jhveruuyeru"; echo "

id = $id

"; ?>

Источник

Целые числа

Целые числа могут быть указаны в десятичной (основание 10), шестнадцатеричной (основание 16), восьмеричной (основание 8) или двоичной (основание 2) системе счисления, с необязательным предшествующим знаком (- или +).

Двоичная запись integer доступна начиная с PHP 5.4.0.

Для записи в восьмеричной системе счисления, необходимо поставить пред числом 0 (ноль). Для записи в шестнадцатеричной системе счисления, необходимо поставить перед числом 0x. Для записи в двоичной системе счисления, необходимо поставить перед числом 0b

Пример #1 Целые числа

$a = 1234 ; // десятичное число
$a = — 123 ; // отрицательное число
$a = 0123 ; // восьмеричное число (эквивалентно 83 в десятичной системе)
$a = 0x1A ; // шестнадцатеричное число (эквивалентно 26 в десятичной системе)
$a = 0b11111111 ; // двоичное число (эквивалентно 255 в десятичной системе)
?>

Формально, структуру целых чисел можно записать так:

десятичные : 81* | 0 шестнадцатеричные : 0[xX][0-9a-fA-F]+ восьмеричные : 06+ двоичные : 0b[01]+ целые : [+-]?десятичные | [+-]?шестнадцатеричные | [+-]?восьмеричные | [+-]?двоичные

Размер integer зависит от платформы, хотя, как правило, максимальное значение примерно равно 2 миллиардам (это 32-битное знаковое). 64-битные платформы обычно имеют максимальное значение около 9E18, кроме Windows, которая всегда 32-битная. PHP не поддерживает беззнаковые целые ( integer ). С версии PHP 4.4.0 и PHP 5.0.5 размер integer может быть определен с помощью константы PHP_INT_SIZE , а его максимальное значение — с помощью константы PHP_INT_MAX .

Если в восьмеричном integer будет обнаружена неверная цифра (например, 8 или 9), оставшаяся часть числа будет проигнорирована.

Пример #2 Странности с восьмеричными числами

Переполнение целых чисел

Если PHP обнаружил, что число превышает размер типа integer , он будет интерпретировать его в качестве float . Аналогично, если результат операции лежит за границами типа integer , он будет преобразован в float .

Пример #3 Переполнение целых на 32-битных системах

$large_number = 2147483647 ;
var_dump ( $large_number ); // int(2147483647)

$large_number = 2147483648 ;
var_dump ( $large_number ); // float(2147483648)

$million = 1000000 ;
$large_number = 50000 * $million ;
var_dump ( $large_number ); // float(50000000000)
?>

Пример #4 Переполнение целых на 64-битных системах

$large_number = 9223372036854775807 ;
var_dump ( $large_number ); // int(9223372036854775807)

$large_number = 9223372036854775808 ;
var_dump ( $large_number ); // float(9.2233720368548E+18)

$million = 1000000 ;
$large_number = 50000000000000 * $million ;
var_dump ( $large_number ); // float(5.0E+19)
?>

В PHP не существует оператора деления целых чисел. Результатом 1/2 будет float 0.5. Если привести значение к integer , оно будет округлено вниз. Для большего контроля над округлением используйте функцию round() .

var_dump ( 25 / 7 ); // float(3.5714285714286)
var_dump ((int) ( 25 / 7 )); // int(3)
var_dump ( round ( 25 / 7 )); // float(4)
?>

Преобразование в целое

Для явного преобразования в integer , используйте приведение (int) или (integer). Однако, в большинстве случаев, в приведении типа нет необходимости, так как значение будет автоматически преобразовано, если оператор, функция или управляющая структура требует аргумент типа integer . Значение также может быть преобразовано в integer с помощью функции intval() .

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

Из булевого типа

FALSE преобразуется в 0 (ноль), а TRUE — в 1 (единицу).

Из чисел с плавающей точкой

При преобразовании из float в integer , число будет округлено в сторону нуля.

Если число с плавающей точкой превышает размеры integer (обычно +/- 2.15e+9 = 2^31 на 32-битных системах и +/- 9.22e+18 = 2^63 на 64-битных системах, кроме Windows), результат будет неопределенным, так как float не имеет достаточной точности, чтобы вернуть верный результат. В этом случае не будет выведено ни предупреждения, ни даже замечания!

Никогда не приводите неизвестную дробь к integer , так как это иногда может дать неожиданные результаты.

Источник

Читайте также:  Arraylist implementation in java
Оцените статью