PHP Conference Japan 2024

MongoDB\BSON\ObjectId::__toString

(mongodb >=1.0.0)

MongoDB\BSON\ObjectId::__toString傳回此 ObjectId 的十六進位表示法

說明

final public MongoDB\BSON\ObjectId::__toString(): string

參數

此函式沒有參數。

傳回值

傳回此 ObjectId 的十六進位表示法。

範例

範例 #1 MongoDB\BSON\ObjectId::__toString() 範例

<?php

var_dump
((string) new MongoDB\BSON\ObjectId());
var_dump((string) new MongoDB\BSON\ObjectId('000000000000000000000001'));

?>

以上範例的輸出結果類似如下:

string(24) "56731b49da14d8747d701211"
string(24) "000000000000000000000001"
新增註釋

使用者貢獻的註釋 1 則註釋

Jared C.
8 年前
我發現,當我嘗試填充一個 mongoguid => stringValue 的關聯陣列時,必須手動呼叫 __toString 方法。

$filter = [];
$options = [];
$this->propertyMap = [];
try {
$query = new \MongoDB\Driver\Query($filter, $options);
$cursor = $this->mongo->executeQuery('MyDbName.MyColectionName', $query);
} catch (Exception $e) {
echo "擷取集合時 Mongo 查詢失敗" . PHP_EOL;
echo($e->getMessage());
die("中止");
}
foreach ($cursor as $property) {
//$this->propertyMap[$property->{_id}->__toString()] = $property->name;
$this->propertyMap[$property->name] = $property->{_id}->__toString();
}

您也可以使用 $property->{_id} . "" 來獲得相同的字串結果。否則,您最終會得到一個 MongoDB\BSON\ObjectID 物件的陣列。
To Top