如何获取php对象的第一个元素值
我在不同的数据库表上运行pdo查询,得到以下对象结果如何获取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而不必显式地编写它,这样当我在其他表上进行查询时,它将获得第一个主键条目,而不管它的名称如何 注意:我所
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准备的语句,这些语句也不允许我显式地写入列名