PHP在foreach中显示多维数组的结果
对于更有经验的程序员来说,这应该是一个非常简单的问题 我正在开发一个基本的“pickem应用程序”,它允许用户预测谁可以让用户投票决定他们相信谁会赢得一场体育比赛。很简单 我编写了以下函数来显示每个匹配的统计信息。也就是说,该函数返回每个团队获得的投票数 在函数上执行PHP在foreach中显示多维数组的结果,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,对于更有经验的程序员来说,这应该是一个非常简单的问题 我正在开发一个基本的“pickem应用程序”,它允许用户预测谁可以让用户投票决定他们相信谁会赢得一场体育比赛。很简单 我编写了以下函数来显示每个匹配的统计信息。也就是说,该函数返回每个团队获得的投票数 在函数上执行print\r(),它工作正常并返回正确的结果。结果以多维数组的形式返回,该数组包含玩家ID,团队,投票数 我的代码 $sql='SELECT gameID, team, COUNT(*) AS number_of_picks
print\r()
,它工作正常并返回正确的结果。结果以多维数组的形式返回,该数组包含<代码>玩家ID,团队
,投票数
我的代码
$sql='SELECT gameID, team, COUNT(*) AS number_of_picks
FROM picks
WHERE picks.tournament = :tournament AND picks.weekNum = :weekNum
GROUP BY gameID, team
ORDER BY gameID, team';
$stmnt = $db->prepare($sql);
$stmnt->bindValue(':tournament', $tournament);
$stmnt->bindValue(':weekNum', $week);
$stmnt->execute();
if ($stmnt->rowCount() > 0) {
$result = array();
foreach ($stmnt->fetchAll() as $row) {
$result[$row['gameID']][] = $row;
}
return $result;
}
return false;
}
打印功能返回数据
我的问题
我的问题是显示/回显foreach循环中的数据
我的问题是,当我尝试回显上面的变量时,会不断返回空值。我对循环进行了多次调整,得到了相同的结果
我错过了什么?如果您的print\u r()
数组是$picks,那么您的数组是多维数组,您还需要一个嵌套的foreach(),如下所示:
<?php
$picks = $calcStats('Tournament', Round);
foreach($picks as $keyArr){
foreach($keyArr as $pick)
echo $pick['gameID']; //gameID
echo $pick['team']; //Which Team Will Win
echo $pick['number_of_picks'] //it should be this according to your print_r data
}
}
“在函数上执行print\u r(),它可以完美地工作”-那么,在您的测试中在哪里实现它呢?您还在返回结果,您在哪里以及如何使用该返回?return在那里停止执行,我不知道您是否正在使用类/方法来检索/回显这些。根据您的打印,您没有gameID
或投票数screenshot@FunkFortyNiner错误的截图appologies@TimothyCoetzee所以它是一个多维数组?所以你需要两个foreach..es
<?php
$picks = $calcStats('Tournament', Round);
foreach($picks as $keyArr){
foreach($keyArr as $pick)
echo $pick['gameID']; //gameID
echo $pick['team']; //Which Team Will Win
echo $pick['number_of_picks'] //it should be this according to your print_r data
}
}