Массив после функции array_unique возвращается как объект в ответе JSON

Я пытаюсь объединить два массива с пропущенными дублирующимися значениями и вернуть его в формате JSON с платформой Slim. Я делаю следующий код, но в результате я получаюunique свойство JSON как объекта, а не как массива. Я не знаю, почему это происходит, и я бы хотел этого избежать. Как мне это сделать?

Мой код:

$galleries = array_map(function($element){return $element->path;}, $galleries);
$folders = array_filter(glob('../galleries/*'), 'is_dir');

function transformElems($elem){
    return substr($elem,3);
}           
$folders = array_map("transformElems", $folders);

$merged = array_merge($galleries,$folders);
$unique = array_unique($merged); 

$response = array(
  'folders' => $dirs, 
  'galleries' => $galleries, 
  'merged' => $merged, 
  'unique' => $unique);
echo json_encode($response);

В качестве ответа JSON я получаю:

{
folders: [] //array
galleries: [] //array
merged: [] //array
unique: {} //object but should be an array
}

Кажется, чтоarray_unique возвращает что-то странное, но в чем причина?

Ответы на вопрос(1)

Ваш ответ на вопрос