CascadiaPHP 2024

MongoDB\BSON\toPHP

(mongodb >=1.0.0)

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

Описание

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

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

Внимание

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

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

bson (string)

Значение BSON для десериализации.

typeMap (array)

Конфигурация карты типов.

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

Десериализованное значение PHP.

Ошибки

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

Версия Описание
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 Пример использования метода MongoDB\BSON\toPHP()

<?php

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

?>

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

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

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top