Как из массива объектов выбрать определенные значения в этих объектах и записать их в новый массив?

у меня есть выборка из записей БД в виде массива объектов RedBean, мне необходимо из них получить ассоциативный массив вида ["id" => значение из объекта массива, "nik" = > значение из объекта массива], если я делаю код ниже для одного значения (nik), то все работает, как надо, а когда для двух, то выдает только массив с одним элементом, никак не соображу, что я делаю не так...

public static function getContactsID($id) {

$findId = R::getAll('SELECT `first_id` FROM `contacts` WHERE `second_id` = ?', [$id]);

array_walk_recursive($findId, function($item) use (&$result) {
    $result[] = $item;
});

$findNikEmail = R::findAll('users', 'id IN (' . R::genSlots($findId) . ')', $result);


foreach ($findNikEmail as $numbers){
    foreach ($numbers as $email) {
           
        if ($numbers['username'] == "") {
            $contacts = ["id" => $numbers['id'], "nik" => $numbers['email']];
        } else {
            $contacts = ["id" => $numbers['id'], "nik" => $numbers['username']];
        } 
    }
    
  }


var_dump($contacts);

$resultContacts = array_unique($contacts);

  return $resultContacts;

}


Ответы (0 шт):