PHP 数组的每个元素都有相同的索引

PHP array has the same index for every element

我正在开发一个程序,打印团队中每个人的品质。

我有 3 个 table: 球队 table:

TeamID
1
2

TeamPlayers table :

PlayerID Team
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是其他播放器,数量很多,我只列出了几个)

问题是我需要每个玩家在数组中都有自己的索引,因为我必须打印他们的品质

实在找不到问题出在哪里。也许我使用了不正确的方法 select 因为一个团队中有更多的玩家。

第三个table就是每个选手的素质

PlayerID Height Weight HairColor
100 187 80 black
357 167 67 grey
269 182 95 brown

预期的输出是这样的:

用户在 HTML 文本框中输入 1,第 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);

看看是否适合你,我现在无法编码。