请帮我找出一个合乎逻辑的解决方案来使此类播放器列表正常工作
我有一个充满数据的数组
player_number player_name
-------------|-------
1 | player1
2 | player2
3 | player3
6 | player6
8 | player8
12 | player12
-------------|-------
因此,如您所见,可能会遗漏一些数字,但最大值player_number始终为 50,所以问题是我如何显示所有 50 个字段,尽管也必须显示丢失的数字但在其字段上填充“-”
我的逻辑问题是 my_array[$i] 像 1 到 6 一样(上面显示了列表)所以我的 for() 循环不能像那样运行它my_array[$i] == player_number
我想在页面上显示它
1 | player1
2 | player2
3 | player3
4 | -
5 | -
6 | player6
7 | -
8 | player8
9 | -
10 | -
11 | -
12 | player12
-------------|-------
编辑:
当我使用提供的代码时它可以,但是当我尝试用我的代码实现它时,逻辑失败
HowIGrabMyData() {
$query = $this->db->query($sql); // "SELECT * from `players` etc...
$output = array();
foreach ( $query->rows as $result ) {
$output[] = array(
'player_number' => $result['player_number'],
'player_name' => $result['player_nick']
);
}
return $output;
}
$players = HowIGrabMyData();
<?php for($i=1; $i <= 50; $i++){ // loop for 50 times
$player_name = "-";
if(isset($players[$i]['player_name'])){ // if the player name is set, use it
$player_name = $players[$i]['player_name'];
}
echo $i. " | ".$player_name."<br>";
}
它仍然在一行中显示 1 到 6 行,而不是我想要的方式,在 50 个字段中都是空白的我仍然想念主要逻辑......
胡子哥哥