PHP LDAP 库定义了几类用于遍历搜索结果的函数,“first/next”函数和“get”函数:
ldap_first_entry
ldap_next_entry
ldap_get_entries
等等属性,值等。
其中每一个都有哪些用例(迭代每个结果与在多维数组中获取所有结果),哪个更容易编码?
与任何数据库类似,如果您希望收到大量结果,则最好一次迭代一个结果。另一种方法是一次获取所有结果,虽然很方便,但如果返回数百个结果,可能会导致高内存使用。
PHP 中有许多领域提供类似的功能对。
例如,file_get_contents()
vsfopen()
和fread()
。或XMLReader
与SimpleXML
.
在所有情况下,它们之间的主要区别在于,一个选项一次将整个数据结构加载到内存中,而另一个选项允许您在遍历数据时一次加载一个。
这些 LDAP 功能是相同的。
一次将它们全部加载到内存中会更快,并且如果您想要做的不仅仅是通过列表进行简单的迭代,那么它具有优势。
另一方面,一次加载一个显然在内存使用方面具有优势,特别是在您有很多项目要阅读的情况下。
PHP 为您提供了选择,因为这两种选择都有其优点。使用适合您的应用程序。
希望有帮助。