PDO - array_map return 键中的对象 ID
PDO - array_map return objects ids in keys
嘿,我有带 returned 键的阵列
$temp = $sth->fetchAll(PDO::FETCH_ASSOC);
我的结果是这样的:
[0] => [
'id' = 11,
'title' => 't1'
]
[1] => [
'id' = 12,
'title' => 't2'
]
如果我想 return id 作为键,我会这样调用:
$temp = array_map(function($v){return $v[0];}, $sth->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC));
我的结果是这样的:
[11] => [
'title' => 't1'
]
[12] => [
'title' => 't2'
]
如何通过 ID return 对象数组?当我这样做时,我没有对象中的方法...
$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
)
)
嘿,我有带 returned 键的阵列
$temp = $sth->fetchAll(PDO::FETCH_ASSOC);
我的结果是这样的:
[0] => [
'id' = 11,
'title' => 't1'
]
[1] => [
'id' = 12,
'title' => 't2'
]
如果我想 return id 作为键,我会这样调用:
$temp = array_map(function($v){return $v[0];}, $sth->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC));
我的结果是这样的:
[11] => [
'title' => 't1'
]
[12] => [
'title' => 't2'
]
如何通过 ID return 对象数组?当我这样做时,我没有对象中的方法...
$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
)
)