php[world] 2019 — 25 years of PHP

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 (т.е. undefined, symbol, DBPointer), представляются только базовыми объектами классов MongoDB\BSON\Undefined, MongoDB\BSON\Symbol и MongoDB\BSON\DBPointer, при преобразовании BSON в PHP. Эти объекты создаются из данных BSON и используются для хранения этих типов обратно в базу данных, но не могут быть созданы, поскольку они имеют частный конструктор.

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

bson (string)

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

typeMap (array)

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

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

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

Ошибки

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

Версия Описание
1.4.0

Если входные данные содержат неподдерживаемый устаревший тип BSON, драйвер больше не будет записывать предупреждение в журнал отладки, а вместо этого создаст объект, представляющий этот тип.

1.3.2

MongoDB\Driver\Exception\UnexpectedValueException больше не выдается, если входные данные содержат неподдерживаемый, устаревший тип BSON. Такие типы будут игнорироваться (как они были в версиях до 1.3.0), хотя драйвер теперь будет записывать предупреждение в журнал отладки (смотрите: mongodb.debug).

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 add a note

User Contributed Notes

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