2014-02-28 35 views
0

我有以下功能未定義指數預警LDAP屬性/關聯數組

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

即使您請求屬性'managedBy',返回的數組中只包含小寫字母'managedby'。

由於PHP中的數組鍵是區分大小寫的,因此鍵'managedBy'不存在。

在你要求的屬性名稱上使用strtolower,一切都應該沒問題。

+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); 
+0

感謝您的幫助。但它仍然給出未定義索引:managedBy錯誤。 –

+0

在同一行號碼上? – SajithNair

+0

是的。在同一行上。 –

0

您可以在php文件的開頭設置錯誤報告。

error_reporting(0);