MySQL PDO fetchAll作为格式的数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL PDO fetchAll作为格式的数组相关的知识,希望对你有一定的参考价值。
我有这个PDO代码
function getAllUserTicketHistoryJson($rid){
global $conn;
$stmt = $conn->prepare("SELECT user_id, total_ticket FROM lottery_user WHERE round_id = :rou");
$stmt->bindParam(':rou', $rid);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$res = $stmt->fetchAll();
return $res;
}
并在我的索引php文件中显示数据
$getAllUserTicketHistoryJson = getAllUserTicketHistoryJson($getRound['id']);
并将所有数据调用到此
foreach($getAllUserTicketHistoryJson as $key => $value){
$array=$value;
}
当我尝试var_export($ value);数据显示如下
array ( 'user_id' => '1', 'total_ticket' => '1', )array ( 'user_id' => '2', 'total_ticket' => '50', )array ( 'user_id' => '3', 'total_ticket' => '10', )array ( 'user_id' => '4', 'total_ticket' => '5', )
我的问题是,我可以将数据显示在一个数组中吗?
应该是这样的
array("1" => 1, '2' => 50, '3' => 10, '4' => 5)
如何让数据只在一个数组内?
答案
找到答案,我们需要foreach中的自定义格式。
所以代码就是这样的
$data = array();
foreach($getAllUserTicketHistoryJson as $value){
$data[$value['user_id']] = number_format((float)($value['total_ticket'] / $getAllTicketRound * 100), 2, '.', '');
}
以上是关于MySQL PDO fetchAll作为格式的数组的主要内容,如果未能解决你的问题,请参考以下文章
PDO fetchAll 返回空数组,但是可以显示count数量?