嘿我有带有返回键的数组
$temp = $sth->fetchAll(PDO::FETCH_ASSOC);
我的结果如下所示:
[0] => [
'id' = 11,
'title' => 't1'
]
[1] => [
'id' = 12,
'title' => 't2'
]
如果我想返回 ids 作为键,我会这样调用:
$temp = array_map(function($v){return $v[0];}, $sth->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC));
我的结果看起来像这样:
[11] => [
'title' => 't1'
]
[12] => [
'title' => 't2'
]
如何通过ID返回对象数组?当我这样做时,我的对象中没有方法...
$temp = array_map(function($v){return $v[0];}, $sth->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_CLASS));
我会做一些更简单的代码,如下所示:-
$fianl_array = array_combine(array_column($temp,'id'),$temp);
参考:-
使用foreach:
foreach($input as $k=>$v){
$output[$v['id']] = array('title'=>$v['title']);
}
print_r($output);
只需添加此作为答案,因为我相信这是执行此操作的最短方法,使用
array_column()
和第三个参数,这是您想要数据索引的键。如果您使用 null 作为第二个参数,它将按“id”索引所有数据,您可以使用“title”,这只会按 ID 索引标题列...
$output = array_column($temp,null,'id');
这给出了...
Array
(
[11] => Array
(
[id] => 11
[title] => t1
)
[12] => Array
(
[id] => 12
[title] => t2
)
)