- PHP Data Types
- Introduction to PHP data types
- Scalar types
- Compound types
- Special types
- Scalar types
- Integer
- Float
- Boolean
- String
- Compound types
- Array
- Object
- Special types
- Null
- Resource
- Summary
- PHP Resources
- Syntax
- Example
- Output
- Example
- Output
- Resource php тип данных
- Преобразование в ресурс
- Освобождение ресурсов
- User Contributed Notes 1 note
- Resource php тип данных
- Скалярные типы. Scalar Types
- Смешанные типы Compound Types
- Специальные типы. Special Types
- Логический (boolean) тип
- Функция is_bool()
- Функция is_int()
- Числа с плавающей точкой (float)
- Функция is_float
- Массив( array )
- Объект
- Тип данных resource
- Тип данных Null
- Функция is_null
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']; // 120
Code 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 Resources
In PHP, Resource is a special data type that refers to any external resource. A resource variable acts as a reference to external source of data such as stream, file, database etc. PHP uses relevent functions to create these resources. For example, fopen() function opens a disk file and its reference is stored in a resource variable.
PHP’s Zend engine uses reference conting system. As a result, a resource with zero reference count is destroyed automatically by garbage collector. Hence, memory used by resource data type need not be freed manually.
Various types of resources can be handled in a PHP script, with the help of coresponding functions. Following table shows a select list −
Resource Type Name | Created By | Destroyed By | Definition |
bzip2 | bzopen() | bzclose() | Bzip2 file |
curl | curl_init() | curl_close() | Curl session |
ftp | ftp_connect(), | ftp_close() | FTP stream |
mssql link | mssql_connect() | mssql_close() | Link to Microsoft SQL Server database |
mysql link | mysql_connect() | mysql_close() | Link to MySQL database |
mysql result | mysql_db_query(), | mysql_free_result() | MySQL result |
oci8 connection | oci_connect() | oci_close() | Connection to Oracle Database |
ODBC link | odbc_connect() | odbc_close() | Link to ODBC database |
pdf document | pdf_new() | pdf_close() | PDF document |
stream | opendir() | closedir() | Dir handle |
stream | fopen(), tmpfile() | fclose() | File handle |
socket | fclose() | Socket handle | |
xml | xml_parser_create(), | xml_parser_free() | XML parser |
zlib | gzopen() | gzclose() | gz-compressed file |
zlib.deflate | deflate_init() | None() | incremental deflate context |
zlib.inflate | inflate_init() | None() | incremental inflate context |
In this context, PHP has get_resource_type() function that returns resource type of a variable.
Syntax
To declare an object of a class we need to use new statement
get_resource_type ( resource $handle ) : string
where $handle is the resource variable whose type is to be obtained. This function returns a string corresponding to resource type
Following example shows resource type of a disk file
Example
Output
This will produce following result −
Following example uses get_resource_type() function
Example
Output
This will produce following result −
Resource php тип данных
Resource — это специальная переменная, содержащая ссылку на внешний ресурс. Ресурсы создаются и используются специальными функциями. Полный перечень этих функций и соответствующих типов ресурсов ( resource ) смотрите в приложении.
Смотрите также описание функции get_resource_type() .
Преобразование в ресурс
Поскольку тип resource содержит специальные указатели на открытые файлы, соединения с базой данных, области изображения и тому подобное, преобразование в этот тип не имеет смысла.
Освобождение ресурсов
Благодаря системе подсчёта ссылок, введённой в Zend Engine, определение отсутствия ссылок на ресурс происходит автоматически, после чего он освобождается сборщиком мусора. Поэтому очень редко требуется освобождать память вручную.
Замечание: Постоянные соединения с базами данных являются исключением из этого правила. Они не уничтожаются сборщиком мусора. Подробнее смотрите в разделе о постоянных соединениях.
User Contributed Notes 1 note
‘stream’ is a general resource type and can have specific subtypes (imap, pop, curl . ). Casting from ‘stream’ to them makes sense alright.
E.g. Making OAUTH2 work for imap, but still use the normal imap_ functions. Just open a ssl:// stream to the IMAP server with stream_socket_client(), send the «AUTHENTICATE XOAUTH2 . » authentication with valid token and then use the imap_ functions on the casted ‘stream’ to ‘imap’ resource.
Not being able to cast from ‘stream’ to ‘imap’ makes it necessary to use 3rd party solutions, like php-imap. Doesn’t have to be necessary, if the cast would be possible.
Resource php тип данных
Типы Данных РНР используются для хранения различных типов данных или значений.
PHP поддерживает 8 примитивных типов данных, которые делятся на три категории типов:
- Scalar Types (скалярные типы)
- Compound Types (смешанные типы)
- Special Types (специальные типы)
Скалярные типы. Scalar Types
- boolean (булевые)
- integer (целочисленные)
- float (с плавабщей точкой)
- string (строчные)
Смешанные типы Compound Types
Специальные типы. Special Types
Логический (boolean) тип
Этот тип данных обеспечивает вывод нуля или еденицы.
В РНР значение еденицы является true , a значение false это ноль, либо отсутствие значения
Функция is_bool()
Используя эту функцию, мы можем проверить, является ли переменная логическим типом или нет.
is_bool() возвращает true если переменная логическая, в противном cлучае возвращает false
Example 1 Output: 1 Example 2 Output: This is a boolean type.
Функция is_int()
Используя эту функцию, мы можем проверить вводную переменную, целочисленная она или нет.
Example 1 Output: 1 Example 2 else < echo "$x is not an Integer \n" ; >if (is_int($y)) < echo "$y is Integer \n" ; >else < echo "$y is not Integer \n" ; >?> Output: 56 is not an Integer Example 3 else < echo $check . " is not an int!"; >?> Output: 12345 is an int!
Числа с плавающей точкой (float)
Этот тип данных представляет десятичные значения. Число с плавающей точкой — это десятичная дробь, или число в экспоненциальной форме
Example 1 Output: 22.41 Example 2 Output: 11.365 Example 3 Output: float 6.203 float 23000 float 7.0E-10
Функция is_float
Используя эту функцию, вы можете проверить наличие числа с плавающей точкой в вводимых данных.
is_float() возвращает true если число дробное, и false в противном случае.
Example 1 Example 2 Example 3 '; else echo 'This is not a float value.
'; var_dump(is_float('javatpoint')); echo '
'; var_dump(is_float(85)); ?> Output: This is a float value. boolean false boolean false
Массив( array )
Массив это коллекция гетерогенных(разнотипных) типов данных. РНР, как нам известно, слабо типизированный язык, по этому мы можем хранить разные типы значений в массивах. Нормаоьная переменная хранит одно значение, массив может хранить множество значений. Массив содержит ряд элементов,а каждый элемент комбинацию: ключ — значение.
Variable_name = array (element1, element2, element3, element4. )
Example 1 Output: Array ( [0] => 10 [1] => 20 [2] => 30 ) Example 2 Output: Array ( [0] => 10 [1] => Hitesh [2] => 30 )
Объект
Объект представляет из себя тип данных, который накапливает в себе данные и информацию о том, как эти данные обрабатывать. Объект является определённым экземпляром класса, который применяется как шаблон для объектов.
Синтаксис: Сначало вы должны объявить класс объекта. Класс это структура, которая состоит из свойств и методов. Классы указывают с ключевым словом class. мы указываем тип данных в классе объекта, а затем мы исплоьзуем тип данных в экземплярах этого класса
Example 1 > $obj1 = new vehicle; $obj1->car(); ?> Output: Display tata motors Example 2 jsk = 100; > > $obj = new student(); echo $obj->jsk; ?> Output: 100 Example 3 str; > > $obj = new greeting; var_dump($obj); ?> Output: object(greeting)[1] public 'str' => string 'Hello Developer' (length=15)
Тип данных resource
К ним относятся внешние ресурсы, такие как соединение с базой данных, FTP-соединение,указатели файла и т.д. Проще говоря, resource представляет собой специальную переменную, которая несет ссылку на внешний ресурс.
Example 1 Output: FTP Buffer Example 2 Output: Resource id #2 Example 3 "; $conn= ftp_connect("127.0.0.1") or die("could not connect"); var_dump($conn); ?> Output: resource(3, stream) resource(4, FTP Buffer)
Тип данных Null
Переменная типа NULL является переменной без каких-либо данных. В PHP NULL не является значением, и мы можем рассмотреть его как нулевую переменную на основе трёх состояний:
- Если переменная не установлена с каким-либо значением.
- Если переменная установлена с нулевым значением.
- Если значение переменной является unset.
Example 1 Output: null Example 2 "; $a2 = null; var_dump($a2); ?> Output: string ' ' (length=1) null Example 3 "; $y = "Hello Developer!"; $y = NULL; var_dump($y); ?> Output: null null
Функция is_null
Использзуя эту функцию, мы можем проверить, является ли переменная нулём или нет.
Мы можем заменить значение переменной используя функцию unset
Функция is_null() возвращает true eсли значение равно Null , и false в противном случае.
Example 1 else < echo 'Variable is not NULL'; >?> Output: Variable is not NULL Example 2 Output: 1 Example 3 "; is_null($y) ? print_r("True\n") : print_r("False\n"); ?> Output: True False