PHP 8.4.2 Released!

MongoDB\BSON\toPHP

(mongodb >=1.0.0)

MongoDB\BSON\toPHPReturns the PHP representation of a BSON value

Warning

This function has been DEPRECATED as of extension version 1.20.0 and will be removed in 2.0. Applications should use MongoDB\BSON\Document::toPHP() instead.

Description

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

Unserializes a BSON document (i.e. binary string) to its PHP representation. The typeMap paramater may be used to control the PHP types used for converting BSON arrays and documents (both root and embedded).

Warning

BSON documents can technically contain duplicate keys because documents are stored as a list of key-value pairs; however, applications should refrain from generating documents with duplicate keys as server and driver behavior may be undefined. Since PHP objects and arrays cannot have duplicate keys, data could also be lost when decoding a BSON document with duplicate keys.

Parameters

bson (string)

BSON value to be unserialized.

typeMap (array)

Type map configuration.

Return Values

The unserialized PHP value.

Errors/Exceptions

Changelog

Version Description
PECL mongodb 1.4.0

If the input contains an unsupported, deprecated BSON type, the extension will now no longer log a warning to the debug log, but instead will create an object representing this type.

PECL mongodb 1.3.2

MongoDB\Driver\Exception\UnexpectedValueException is no longer thrown if the input contains an unsupported, deprecated BSON type. Such types will be ignored (as they were in versions before 1.3.0), although the extension will now log a warning to the debug log (see: mongodb.debug).

PECL mongodb 1.3.0

MongoDB\Driver\Exception\UnexpectedValueException is thrown if the input contains an unsupported, deprecated BSON type. Previously, such types were ignored.

Examples

Example #1 MongoDB\BSON\toPHP() example

<?php

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

?>

The above example will output:

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

See Also

add a note

User Contributed Notes

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