Как вытащить записи из массива ldap_get_entries

Я пытаюсь получить список пользователей в группе Active Directory, используя php ldap_get_entries. Я могу подключиться к серверу 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

person JukEboX    schedule 08.05.2020    source источник
comment
Вы можете использовать взорваться, например, 3v4l.org/3rhko   -  person The fourth bird    schedule 08.05.2020
comment
@Thefourthbird, есть ли способ использовать сортировку и с этим?   -  person JukEboX    schedule 08.05.2020
comment
Вы можете добавить значения в массив и впоследствии отсортировать массив   -  person The fourth bird    schedule 08.05.2020
comment
@Thefourthbird У меня работает с array_multisort. Вы хотите опубликовать свое предложение в качестве ответа, чтобы я мог отметить его? Если нет, я могу отдать вам должное, когда я написал, что я сделал.   -  person JukEboX    schedule 08.05.2020
comment
Это нормально, это была идея, как вы могли бы решить эту проблему. Вы можете использовать его в ответе, если хотите. Рад, что это работает для вас :-)   -  person The fourth bird    schedule 08.05.2020


Ответы (1)


Спасибо @Thefourthbird за предложение. Он предложил мне использовать следующее, чтобы убрать нужные мне имена.

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

Осталось только упорядочить данные в алфавитном порядке. Для этого я использовал функцию array_multisort.

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

Теперь все имена выводятся на отдельной строке и в алфавитном порядке.

Jane Doe
Mike Jones 
Van Smith 
person JukEboX    schedule 08.05.2020