如何获取php对象的第一个元素值

如何获取php对象的第一个元素值,php,class,object,pdo,Php,Class,Object,Pdo,我在不同的数据库表上运行pdo查询,得到以下对象结果 object(stdClass)#6 (8) { ["user_id"]=> string(2) "36" ["username"]=> string(10) "nomoinc123" .... } 如果我想得到用户的id,我必须写 $obj->user_id 但是,我希望获得user_id而不必显式地编写它,这样当我在其他表上进行查询时,它将获得第一个主键条目,而不管它的名称如何 注意:我所

我在不同的数据库表上运行pdo查询,得到以下对象结果

object(stdClass)#6 (8) { 
    ["user_id"]=> string(2) "36" 
    ["username"]=> string(10) "nomoinc123"
    ....
}
如果我想得到用户的id,我必须写

$obj->user_id
但是,我希望获得user_id而不必显式地编写它,这样当我在其他表上进行查询时,它将获得第一个主键条目,而不管它的名称如何


注意:我所有的主键都是以这种格式命名的。如果您能保证它是您需要的第一个值(如您问题的标题所示),那么,
reset
将执行您想要的操作:

$firstvalue = reset($obj);
但是,如果将SQL查询更改为返回具有固定别名的密钥,则更有意义。例如:

select user_id as key,
       /* some other fields come here */
from   users

然后您只需执行
$obj->key

我想您应该检查一下,非常感谢reset()的工作。至于alias方法,我正在使用PDO准备的语句,这些语句也不允许我显式地写入列名