簡體   English   中英

如何從 ldap_get_entries 數組中提取條目

[英]How to pull entries out of ldap_get_entries array

我正在嘗試使用 php ldap_get_entries 獲取 Active Directory 組中的用戶列表。 我能夠連接到 ldap 服務器並毫無問題地綁定。 我遇到的這個問題是我在使用ldap_get_entires時從數組中得到的結果。 這是我用來從組中獲取數據的方法:

$result = ldap_search($ldapConn, $ldaptree, "(member=*"),array('member'));
$data = ldap_get_entries($ldapConn, $result);
print_r($data);

我得到的是:

Array([count] => 1 [0] => Array([member] => Array([count => 3 [0] => CN=Mike Jones,CN=Users,DC=DOMAIN,DC=NET [1] => CN=Van Smith,CN=Users,DC=DOMAIN,DC=NET [2] => CN=Jane Doe,CN=Users,DC=DOMAIN,DC=NET) [0] => member[count] => 1 [dn] => CN=Cool Guys,CN=Users,DC=DOMAIN,DC=NET))

我如何從這個數組中只提取名稱以使其看起來像這樣?

Mike Jones 
Van Smith 
Jane Doe

感謝@Thefourthbird 的建議。 他建議我使用以下內容來取出我需要的名稱。

foreach ($array[0]["member"] as $key => $member) {
    if (is_int($key)) {
        $User[] = explode('=', explode(',', $member)[0])[1] . PHP_EOL;
    }
}

唯一剩下要做的就是按字母順序組織數據。 我使用array_multisort function 來執行此操作。

array_multisort($User, SORT_ASC);
foreach ($User as $key => $SortUser) {
    echo $SortUser;
}

現在所有的名字都出現在自己的行中並按字母順序排列。

Jane Doe
Mike Jones 
Van Smith 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM