相关疑难解决方法(0)

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);
Run Code Online (Sandbox Code Playgroud)

作为JSON响应,我得到:

{
folders: [] //array
galleries: [] //array
merged: [] //array
unique: {} //object but should be an array
}
Run Code Online (Sandbox Code Playgroud)

http://i.imgur.com/cfHy8Od.png

似乎array_unique返回了一些奇怪的东西,但是原因是什么?

php slim

10
推荐指数
1
解决办法
2501
查看次数

标签 统计

php ×1

slim ×1