From 38709b202afb977638a6dfcea8e679b679c1b5ef Mon Sep 17 00:00:00 2001 From: serg-t <38075766+serg-t@users.noreply.github.com> Date: Thu, 1 Nov 2018 20:29:34 +0200 Subject: [PATCH] update index.md (#24207) added basic info about PHP Data Types. --- guide/russian/php/data-types/index.md | 156 +++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) diff --git a/guide/russian/php/data-types/index.md b/guide/russian/php/data-types/index.md index 4a0f211bfac..6a2644d255a 100644 --- a/guide/russian/php/data-types/index.md +++ b/guide/russian/php/data-types/index.md @@ -4,8 +4,158 @@ localeTitle: Типы данных --- ## Типы данных -Это заглушка. [Помогите нашему сообществу расширить его](https://github.com/freecodecamp/guides/tree/master/src/pages/agile/alignment/index.md) . + PHP поддерживает десять простых типов. + +#### Четыре скалярных типа: + * Булев + Это простейший тип. `boolean` выражает истинность значения. Он может быть либо TRUE, либо FALSE. + Для указания boolean, используйте константы TRUE или FALSE. Обе они регистронезависимы. + + + + * Integer + Это число из множества ℤ = {..., -2, -1, 0, 1, 2, ...}. + + + + * Float (Числа с плавающей точкой) + Числа с плавающей точкой (также известные как "float", "double" или "real"). + + + + * String (Строка) + Это набор символов, где символ - это то же самое, что и байт. + PHP поддерживает ровно 256 различных символов. + PHP не имеет встроенной поддержки Unicode. + +#### Четыре смешанных типа: + + * Массив + Это упорядоченное отображение, которое устанавливает соответствие между значением и ключом. + + * Объект + Для создания нового объекта, используйте выражение new, создающее в переменной экземпляр класса: + + do_foo(); + ?> + + Преобразование в объект. + Если object преобразуется в object, объект не изменится. Если значение другого типа преобразуется в object, создается новый экземпляр встроенного класса stdClass. Если значение было NULL, новый экземпляр будет пустым. Массивы преобразуются в object с именами полей, названными согласно ключам массива и соответствующими им значениям. Обратите внимание, что в этом случае до PHP 7.2.0 числовые ключи не будут доступны, пока не проитерировать объект. + + 'foo'); + var_dump(isset($obj->{'1'})); // выводит 'bool(false)' + var_dump(key($obj)); // выводит 'int(1)' -#### Дополнительная информация: \ No newline at end of file + $obj = (object) array('1' => 'foo'); + var_dump(isset($obj->{'1'})); // выводит 'bool(true)', начиная с PHP 7.2.0; 'bool(false)' ранее + var_dump(key($obj)); // выводит 'string(1) "1"', начиная с PHP 7.2.0; 'int(1)' ранее + ?> + + При преобразовании любого другого значения, оно будет помещено в поле с именем scalar соответствующему типу. + + scalar; // выведет 'привет' + ?> + + * Функции обратного вызова (callback-функции) + Callback-функции могут быть отмечены в коде подсказкой типа callable, появившейся в версии PHP 5.4. В данной документации для этих же целей используется callback. + + Некоторые функции, такие как call_user_func() или usort(), принимают определенные пользователем callback-функции в качестве параметра. Callback-функции могут быть как простыми функциями, так и методами объектов, включая статические методы классов. + + В PHP функции передаются по имени в виде строки. Можно использовать любые встроенные, либо созданные пользователем функции, за исключением конструкций языка, таких как: array(), echo, empty(), eval(), exit(), isset(), list(), print или unset(). + + Метод созданного объекта (object) передается как массив, содержащий объект по индексу 0 и имя метода по индексу 1. Доступ к закрытым и защищенным методам разрешен изнутри класса. + + Статические методы класса также могут быть вызваны без создания экземпляра объекта класса путем передачи имени класса вместо объекта в элементе массива с индексом 0. С PHP 5.2.3 также можно передавать 'ClassName::methodName'. + + Помимо обычных пользовательских функций, в качестве callback-функции можно передавать анонимные функции. + + + +#### Два специальных типа: + + * Ресурс + Ресурс - это специальная переменная, содержащая ссылку на внешний ресурс. Ресурсы создаются и используются специальными функциями. Полный перечень этих функций и соответствующих типов ресурсов (resource) смотрите в приложении. + + Поскольку тип resource содержит специальные указатели на открытые файлы, соединения с базой данных, области изображения и тому подобное, преобразование в этот тип не имеет смысла. + + Благодаря системе подсчета ссылок, введенной в Zend Engine, определение отсутствия ссылок на ресурс происходит автоматически, после чего он освобождается сборщиком мусора. Поэтому очень редко требуется освобождать память вручную. + + * NULL + Специальное значение NULL представляет собой переменную без значения. NULL - это единственно возможное значение типа null. + + Переменная считается null, если: + - ей была присвоена константа NULL. + - ей еще не было присвоено никакого значения. + - она была удалена с помощью unset(). + + Существует только одно значение типа null - регистронезависимая константа NULL. + + + + **Данный функционал объявлен УСТАРЕВШИМ, начиная с PHP 7.2.0 и его использование крайне не рекомендовано. + + Приведение переменной к null с использованием (unset) $var не удаляет переменную и ее значение. Данное выражение только возвращает NULL. + +#### Итоговые примеры: + + + + + + + +#### Дополнительная информация: +[Типы данных PHP](http://php.net/manual/ru/language.types.intro.php)