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);
看看是否适合你,我现在无法编码。
我正在开发一个程序,打印团队中每个人的品质。
我有 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);
看看是否适合你,我现在无法编码。