Всем вечер добрый. Нужен ваш совет профессионалы. У меня есть массив (это данные из LDAP), в котором есть одинаковые пользователи с именами (displayname), но у них разные email адреса. Как мне выбрать тех у которых в email есть yandex.ru (на самом деле в AD попадается один и тот же пользователь как User и Contact. А мне надо выбрать именно контакт, так как у него в email адрес yandex.ru. Но это отступление...). Я полагаю речь идет о сортировке или даже группировке.
$entries[1]["displayname"][0]='Alex';
$entries[1]["email"][0]='123@mail.ru';
$entries[2]["displayname"][0]='Alex';
$entries2[2]["email"][0]='256@yandex.ru';
$entries[3]["displayname"][0]='Ann';
$entries[3]["email"][0]='789@mail.ru';
$entries[4]["displayname"][0]='Ann';
$entries[4]["email"][0]='555@yandex.ru';
Вот так можно сделать, посмотреть если не яндекс удалить элемент. Ну конечно же можете и в другой массив вставить если яндекс (что бы начальный массив не испортит.).
$entries[0]["displayname"][0]='Alex';
$entries[0]["email"][0]='123@mail.ru';
$entries[1]["displayname"][0]='Alex';
$entries[1]["email"][0]='256@yandex.ru';
$entries[2]["displayname"][0]='Ann';
$entries[2]["email"][0]='789@mail.ru';
$entries[3]["displayname"][0]='Ann';
$entries[3]["email"][0] = '555@yandex.ru';
echo '<pre>';
for($i=0;$i<count($entries);$i++){
if(strpos($entries[$i]["email"][0], 'yandex.ru') == false){
unset($entries[$i]);
}
}
print_r($entries);
Думаю вы сможете просто пройтись в цикле и собрать новый:
$userByYandex = array();
for($i=0;$i<count($entries);$i++){
$domain = explode('@',$entries[$i]["email"][0]);
if($domain[1] == 'yandex.ru'){
array_push($userByYandex,$entries[$i]["email"][0]);
}
}
print_r($userByYandex);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости