【问题标题】:Populate array from while loop to return PHP从 while 循环填充数组以返回 PHP
【发布时间】:2026-02-22 11:40:01
【问题描述】:

您好,我正在尝试使用“user1”和“score1”等索引填充数组以返回函数。

我的代码:它出现了无法识别的变量错误

$query = 'select * from users order by score desc';
$result = mysql_query($query) or die (mysql_error());
$highscore = array();
$count = '0';

while($row = mysql_fetch_array($result))
{
    $count++;         
    $highscore = array('user' . $count => $row['username'], 'score' . $count => $row['score']);
}

return $highscore;

【问题讨论】:

    标签: php arrays return


    【解决方案1】:

    当你想使用数值时,你应该使用它们。你使用了零的字符串表示 ('0')

    $count = 0;
    $highscore = array();
    while($row = mysql_fetch_array($result))
    {       
        $count++; 
        $highscore['user' . $count] = $row['username'];
        $highscore['score' . $count] = $row['score'];
    }
    

    【讨论】:

    • 不会给出数组数组吗?
    • @gar - true true - 我的键盘在那儿离开了我一秒钟:P
    【解决方案2】:

    如果您想要“高分”,您可能想要使用 max 并只返回 1 行。

    【讨论】:

    • 如果是用户自己的个人高分怎么办?
    • @lix 查询可以很容易地被更改 'SELECT max(score) FROM users WHERE username = 'lix' 但他说他需要它作为一个函数,大概是为了填充一个表。跨度>