как отсортировать из массива?

176
14 октября 2017, 20:10

Всем вечер добрый. Нужен ваш совет профессионалы. У меня есть массив (это данные из 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';
Answer 1

Вот так можно сделать, посмотреть если не яндекс удалить элемент. Ну конечно же можете и в другой массив вставить если яндекс (что бы начальный массив не испортит.).

$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);
Answer 2

Думаю вы сможете просто пройтись в цикле и собрать новый:

$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);
READ ALSO
PHP unlink() не работает на сервере

PHP unlink() не работает на сервере

Здравствуйте,есть задача в определённом участке кода реализовать удаление файлика xml из директории,где находится indexphp

215
ошибка при установке Drupal

ошибка при установке Drupal

Поставил Drupal вот такой командой composer create-project drupal-composer/drupal-project:~80

325
Изменить картинку по нажатию на кнопку

Изменить картинку по нажатию на кнопку

Есть несколько кнопок, нужно чтобы по нажатию на каждую подставлялась своя картинка в блок

311