Возвращает PHP-представление BSON-значения

# MongoDB\BSON\toPHP

(mongodb >=1.0.0)

MongoDB\BSON\toPHP — Возвращает PHP-представление BSON-значения

Внимание

Метод УСТАРЕЛ с модуля версии 1.20.0, а в версии 2.0 метод удалили. Вместо этого метода приложениям лучше вызывать метод MongoDB\BSON\Document::toPHP().

### Описание

function MongoDB\BSON\toPHP(string `$bson`, array `$typeMap` = array()): array|object

Метод десериализует BSON-документ — двоичную строку — в его PHP-представление. Через параметр `typeMap` управляют PHP-типами, через которые преобразовывают BSON-массивы и BSON-документы (как корневые, так и встроенные).

Внимание

Документы BSON технически могут содержать повторяющиеся ключи, поскольку документы хранятся в виде списка пар ключ-значение; однако приложениям следует воздерживаться от создания документов с дубликатами ключей, поскольку поведение сервера и драйвера может быть неопределённым. Поскольку объекты и массивы PHP не могут иметь повторяющихся ключей, данные также могут быть потеряны при декодировании документа BSON с повторяющимися ключами.

### Список параметров

`bson` (string)
  BSON-значение для десериализации.
`typeMap` (array)
  Конфигурация карты типов.

### Возвращаемые значения

Метод возвращает PHP-значение, которое сгенерировал путём десериализации BSON-документа.

### Ошибки

- Метод выбрасывает исключение MongoDB\Driver\Exception\InvalidArgumentException, если класс в карте типов невозможно создать или класс не реализует интерфейс MongoDB\BSON\Unserializable.
- Метод выбрасывает исключение MongoDB\Driver\Exception\UnexpectedValueException, если во входных данных передали больше одного BSON-документа. Возможные причины включают, но не ограничиваются недопустимым BSON-форматом, лишними данными или неожиданной ошибкой » libbson.

### Список изменений

Версия | Описание
--- | ---
PECL-модуль mongodb 2.0.0 | Функцию удалили.
PECL-модуль mongodb 1.4.0 | Модуль больше не записывает предупреждение в журнал отладки, если входные данные содержат устаревший BSON-тип, который не поддерживается модулем. Вместо этого метод создаст объект, который представляет такой тип.
PECL-модуль mongodb 1.3.2 | Метод больше не выбрасывает исключение MongoDB\Driver\Exception\UnexpectedValueException если входные данные содержат устаревший BSON-тип, который не поддерживается модулем. Метод проигнорирует такие типы (как и в версиях до 1.3.0), хотя модуль теперь записывает предупреждение в журнал отладки (смотрите описание директивы mongodb.debug).
PECL-модуль mongodb 1.3.0 | Метод выбрасывает исключение MongoDB\Driver\Exception\UnexpectedValueException, если входные данные содержат устаревший BSON-тип, который не поддерживается модулем. Раньше модуль игнорировал такие типы.

### Примеры

Пример #1 Пример преобразования BSON-значения в PHP-представление методом MongoDB\BSON\toPHP()

    <?php

    $bson = hex2bin('0e00000010666f6f000100000000');
    $value = MongoDB\BSON\toPHP($bson);
    var_dump($value);

    ?>

Результат выполнения приведённого примера:

    object(stdClass)#1 (1) {
      ["foo"]=>
      int(1)
    }

### Смотрите также

- MongoDB\BSON\Document::toPHP() - Возвращает PHP-представление BSON-документа
- MongoDB\BSON\fromPHP() - Возвращает BSON-представление PHP-значения
- » BSON-типы БД MongoDB
- Сохранение данных

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open