如何使函数在php中返回数组?

时间:2018-08-08 08:10:49

标签: php

从数组中的数据库返回多个值时遇到一个问题,因为每次运行此代码时,它仅从数据库中返回第一行,而不是所有行,这是我的代码:

在classes.php中:

class user{
    public function showwinners(){
        $query="SELECT points,memberid,uname FROM user ";
        $all_answers=array();
        if($query_run=mysql_query($query)){
            if(mysql_num_rows($query_run)==NULL){
                return 0;
            }
            while($query_row=mysql_fetch_assoc($query_run)){
                $one=$query_row['points'];
                $two=$query_row['memberid'];
                $three=$query_row['uname'];
                if($one>=1){
                    $first=$one;
                    $second=$three;
                    array_push($all_answers,['name'=>$second,'points'=>$first]);
                    return $all_answers;
                }
            }
        }
    }
}

和showwinners.php中:

$userobj=new user();
$arr=array();
$arr=$userobj->showwinners();
foreach ($arr as $key => $a) {
    if(isset($a['name']))
        echo $a['name'];
        if(isset($a['points']))
            echo $a['points'];
}

2 个答案:

答案 0 :(得分:1)

尝试一下

integer

答案 1 :(得分:-2)

将return语句移至第二个“}”下 这样,它将位于while循环之外。