为了账号安全,请及时绑定邮箱和手机立即绑定

php中while循环的返回值

php中while循环的返回值

PHP
FFIVE 2023-04-15 17:03:18
嗨,我是 MVC 编程的新手。我试图通过谷歌搜索从 stackoverflow 和其他站点找到解决方案,但没有一个对我有用。请指导我哪里做错了。我的控制器代码:function getAllusers($id){    global $conn;    $users = [];    $sql = "SELECT * from Users WHERE id=$id";    $ownerdata = mysqli_query($conn, $sql);    while($row = mysqli_fetch_assoc($ownerdata))    {        $users[] = $row;    }    return $users;}查看(一段)代码:    getAllusers($user_id);    var_dump($users);在var_dump($users);我得到null和在控制器中,如果我var_dump()在返回之前这样做,我得到一个数组。请指导我克服这个问题。谢谢你!
查看完整描述

2 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

您的函数getAllusers()返回值,因此您需要将此值放入变量中以在视图中使用。

你有两个文件:

控制器:与您的数据(数据库等)通信。 视图:显示从某个控制器调用中收集的数据的位置。

创建函数时会发生什么getAllusers()?该函数获取数据库中的数据并创建数组,如您的问题所示。

当您调用函数时,getAllusers()您的$users变量在函数范围内。这意味着$users变量只能在函数内部访问getAllusers()

当您调用getAllusers()另一个文件时,当函数结束时,$users内部函数将从内存中删除。所以,返回函数就是把你需要的那条数据拿回来。

因此,当您在函数外部创建一个具有相同名称的新变量时(如下面的代码所示),这个新变量只会接收调用函数的返回值,而您不会丢失工作结果。

当你收到值时,你也可以用其他变量名做同样的事情。

尝试这个:

   $users = getAllusers($user_id);

这会将函数的返回值放在getAllusers()变量上$users


查看完整回答
反对 回复 2023-04-15
?
慕森卡

TA贡献1806条经验 获得超8个赞

只是一件小事:

$users = getAllusers($user_id);
var_dump($users);


查看完整回答
反对 回复 2023-04-15
  • 2 回答
  • 0 关注
  • 127 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信