嘿,我有返回键的数组
$temp = $sth->fetchAll(PDO::FETCH_ASSOC);
我的结果如下:
[0] => [
'id' = 11,
'title' => 't1'
]
[1] => [
'id' = 12,
'title' => 't2'
]
如果我想以钥匙的形式返回ID,我会这样称呼:
$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));
答案 0 :(得分:3)
我会做更简单的代码,如下所示: -
$fianl_array = array_combine(array_column($temp,'id'),$temp);
输出: - https://eval.in/993728
参考: -
答案 1 :(得分:0)
使用foreach:
foreach($input as $k=>$v){
$output[$v['id']] = array('title'=>$v['title']);
}
print_r($output);
答案 2 :(得分:0)
只需将此作为答案添加,因为我认为这是最简单的方法,使用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
)
)