2

我在 PHP 8 上。

var_dump(get_class($usernameInDb));返回string(21) "MongoDB\Driver\Cursor"

var_dump($usernameInDb);表明有文件。

$avirer = $usernameInDb->current();不会在 error.log 中导致 PHP 错误。

var_dump($avirer);返回int(8) string(26) "Undefined variable: avirer"

在我看来,这与文档相矛盾

有人知道发生了什么吗?

4

1 回答 1

0

这应该是一个固定的错误

$avirer未定义,因为$usernameInDb->current()没有处理导致$avirer处于无效状态的无效位置。

如果你做类似的事情

var_dump($cursor->current());
echo gettype($cursor->current());

输出将是

UNKNOWN:0
unknown type

这就是var_dumpgettype处理Unknown数据类型的方式。

于 2020-12-14T04:47:58.873 回答