異常使用iterator_to_array()
在MongoCursor
實例可以拋出一個異常,在PHP 5.3?換句話說,我是否需要在try-catch語句中將實例的iterator_to_array()
調用包裝起來?PHP:可以iterator_to_array()拋出一個MongoCursor
例如,
$mongo = new Mongo();
$mongo_db = $mongo['my_database'];
$mongo_coll = $mongo_db['my_collection'];
// This
$cursor = $mongo_coll->find();
$documents = iterator_to_array($cursor);
// Versus this.
$cursor = $mongo_coll->find();
try {
$documents = iterator_to_array($cursor);
} catch (Exception $e) {
//...
}
不相信你在php.net的評論中閱讀的所有內容。實際上,$ cursor-> valid()會使AWLAYS在創建遊標後立即返回FALSE,因爲實際的事情只發生在你第一次調用next()時(這就是rewind()基本上這麼做)。 – pingw33n 2011-03-18 19:45:41
這個答案錯了,但爲什麼它被接受爲正確的? – andho 2011-03-21 12:25:12
好吧,我得到它,'$ cursor'只會在調用'$ cursor-> next()'後調用迭代對象,而且調用'$ cursor-> rewind()'時,這就是OP慾望。 – andho 2011-03-21 12:27:15