php - PHP数组对每个元素都有相同的索引
问题描述
我正在开发一个程序,该程序可以打印团队中每个人的素质。
我有 3 张桌子: Teams 桌子:
团队ID |
---|
1 |
2 |
TeamPlayers 表:
玩家ID | 团队 |
---|---|
100 | 1 |
269 | 1 |
357 | 2 |
该程序的工作方式如下: HTML 页面中有一个文本框,用户在其中输入团队的 ID,程序输出成员。问题是每个玩家都存储在一个数组中。并且都具有相同的索引:
$fetchPlayersSQL = "SELECT Player_ID
FROM TeamPlayers
WHERE Team = $TeamID;";
$fetchPlayers = ibase_query($dbConnection, $fetchPlayersSQL);
while ($row2 = ibase_fetch_object($fetchPlayers)) {
$fetchPlayersArray = get_object_vars($row2);
print_r($fetchPlayersArray);
}
请记住,$TeamID 是用户在 HTML 文本框中引入的值。
现在,这个程序输出这个:
Array ( [Player_ID] => 2157 )
Array ( [Player_ID] => 734 )
Array ( [Player_ID] => 2160 )
Array ( [Player_ID] => 3744 )
Array ( [Player_ID] => 2166 )
(记住,2157、734、2160、3744和2166是其他玩家,有很多,但我只列出了几个)
问题是我需要每个玩家在数组中都有自己的索引,因为我必须打印他们的素质
我真的找不到问题出在哪里。也许我使用了不正确的方法来选择,因为团队中有更多的球员。
第三桌只是每个玩家的素质
玩家ID | 高度 | 重量 | 发色 |
---|---|---|---|
100 | 187 | 80 | 黑色的 |
357 | 167 | 67 | 灰色的 |
269 | 182 | 95 | 棕色的 |
预期的输出是这样的:
用户在 HTML 文本框中输入 1,Team 1 的玩家是 100 和 269,所以他们应该看到:
Array ( [0] => 2157 )
Array ( [1] => 734 )
echo $row2->Player_ID;
只打印他们的 ID,我们在 Team 1 中有玩家 100 和 269,这会打印 100269
解决方案
它可能不是最优雅的解决方案,但您始终可以自己循环构建该数组:
$a = array();
while ($row2 = ibase_fetch_object($fetchPlayers)) {
$a[] = $row2->Player_ID;
}
print_r($a);
看看这是否适合你,我目前无法编码。