在PHP中将单值数组转换为变量的快速方法?

时间:2013-08-19 09:02:17

标签: php mysql arrays variable-assignment

假设我有一个数组,它通过PDO :: FETCH_ASSOC方法从我的数据库中获取一行,然后我将它分配给一个变量,如下所示:

$result = $stmt->fetch(PDO::FETCH_ASSOC);

$result现在拥有一个等于以下数组:

Array ( 
  [id] => 42
)

因此,要将值'id'分配给变量本身,我必须去:

$id = $result['id'];

有没有更快的方法来做到这一点,甚至更好,以确保我的数据库的查询结果是一个变量而不是一个数组直接,假设查询始终保证返回1结果?

2 个答案:

答案 0 :(得分:1)

在PHP中> = 5.4,尝试

$result = $stmt->fetch(PDO::FETCH_ASSOC)[0];

这是猜测,但你必须测试它。

答案 1 :(得分:1)

这应该可以解决问题

$result = $stmt->fetchColumn();

文档here(刚刚注意到Mark Ba​​ker也将其放在他的评论中)。