我有以下功能
function getContactInfo1() {
$filter = "(cn="."CRALT - Admins".")";
$result = ldap_search($this->con, "OU=Distribution Groups,OU=Groups,DC=rim,DC=net", $filter, array('managedBy','msExchCoManagedByLink'));
$entry = ldap_get_entries($this->con, $result);
return array('owner'=>$entry[0]['managedBy'][0],'altOwner'=>$entry[0]['msExchCoManagedByLink'][0]);
}
当我尝试调用它时,它会给我以下错误: -
C:\>php C:\Apache2.2\htdocs\1.php
Hitesh Thakur<hr>PHP Notice: Undefined index: managedBy in C:\Apache2.2\htdocs
\cralt_dev\LDAPutils.class.php on line 28
PHP Notice: Undefined index: msExchCoManagedByLink in C:\Apache2.2\htdocs\cral
t_dev\LDAPutils.class.php on line 28
请帮忙。
答案 0 :(得分:0)
这不是错误,而是通知说数组索引不存在。
您可以通过在使用前检查值来避免这种情况。
$entry = ldap_get_entries($this->con, $result);
$owner = isset($entry[0]['managedBy']) ? $entry[0]['managedBy'][0] : '';
$altOwner = isset($entry[0]['msExchCoManagedByLink']) ? $entry[0]['msExchCoManagedByLink'][0] : '';
return array('owner'=>$owner,'altOwner'=>$altOwner);
答案 1 :(得分:0)
您可以在php文件的开头设置错误报告。
error_reporting(0);
答案 2 :(得分:0)
即使您请求了属性“managedBy”,返回的数组也只包含小写的“managedby”键。
由于PHP中的数组键区分大小写,因此密钥“managedBy”不存在。
在您请求的属性名称上使用strtolower,一切都应该没问题。