Языки программирования php типы данных

Языки программирования php типы данных

PHP is a dynamically typed language, which means that by default there is no need to specify the type of a variable, as this will be determined at runtime. However, it is possible to statically type some aspect of the language via the use of type declarations.

Types restrict the kind of operations that can be performed on them. However, if an expression/variable is used in an operation which its type does not support, PHP will attempt to type juggle the value into a type that supports the operation. This process depends on the context in which the value is used. For more information, see the section on Type Juggling.

The type comparison tables may also be useful, as various examples of comparison between values of different types are present.

Note: It is possible to force an expression to be evaluated to a certain type by using a type cast. A variable can also be type cast in-place by using the settype() function on it.

To check the value and type of an expression, use the var_dump() function. To retrieve the type of an expression, use the get_debug_type() function. However, to check if an expression is of a certain type use the is_ type functions instead.

Читайте также:  Язык программирования kotlin создатель

$a_bool = true ; // a bool
$a_str = «foo» ; // a string
$a_str2 = ‘foo’ ; // a string
$an_int = 12 ; // an int

echo get_debug_type ( $a_bool ), «\n» ;
echo get_debug_type ( $a_str ), «\n» ;

// If this is an integer, increment it by four
if ( is_int ( $an_int )) $an_int += 4 ;
>
var_dump ( $an_int );

// If $a_bool is a string, print it out
if ( is_string ( $a_bool )) echo «String: $a_bool » ;
>
?>

Output of the above example in PHP 8:

Note: Prior to PHP 8.0.0, where the get_debug_type() is not available, the gettype() function can be used instead. However, it doesn’t use the canonical type names.

User Contributed Notes

Источник

Языки программирования 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

"; ?>

Источник

Языки программирования php типы данных

PHP uses a nominal type system with a strong behavioral subtyping relation. The subtyping relation is checked at compile time whereas the verification of types is dynamically checked at run time.

PHP’s type system supports various base types that can be composed together to create more complex types. Some of these types can be written as type declarations.

Base types

Some base types are built-in types which are tightly integrated with the language and cannot be reproduced with user defined types.

  • Built-in types
    • null type
    • Scalar types:
      • bool type
      • int type
      • float type
      • string type
      • false
      • true
      • Interfaces
      • Classes
      • Enumerations

      Composite types

      It is possible to combine simple types into composite types. PHP allows types to be combined in the following ways:

      Intersection types

      An intersection type accepts values which satisfies multiple class-type declarations, rather than a single one. Individual types which form the intersection type are joined by the & symbol. Therefore, an intersection type comprised of the types T , U , and V will be written as T&U&V .

      Union types

      A union type accepts values of multiple different types, rather than a single one. Individual types which form the union type are joined by the | symbol. Therefore, a union type comprised of the types T , U , and V will be written as T|U|V . If one of the types is an intersection type, it needs to be bracketed with parenthesis for it to written in DNF : T|(X&Y) .

      Type aliases

      PHP supports two type aliases: mixed and iterable which corresponds to the union type of object|resource|array|string|float|int|bool|null and Traversable|array respectively.

      Note: PHP does not support user-defined type aliases.

      Источник

Оцените статью