递归 PHP 函数不返回结果

发布于 2024-10-17 09:11:34 字数 828 浏览 5 评论 0原文

这是我的功能:

function loop($id) {

    unset($result, $sql, $query);
    $sql = " SELECT parent_id FROM page_entries WHERE id = '$id' ";
    $query = mysql_query($sql) or die(mysql_error());
    $result = mysql_fetch_assoc($query) or die(mysql_error());

    if ($result['parent_id'] != 0) {
        echo $result['parent_id'] . "... looping<br>";
        loop($result['parent_id']);
    } else {
        echo $result['parent_id'] . "... done loop";
        return $result['parent_id'];
    }
}

echo loop('2');

我正在回显 Parent_id 进行测试。这是浏览器的输出:

1...循环

0...完成循环

我不确定的地方:echo Loop('2') 不回显 return $result['id'] 中的任何内容 如果我注释掉函数中的 echo 行。我尝试通过将返回更改为 return 'foo'; 进行测试,但仍然没有任何结果。

我该如何修复它?

Here is my function:

function loop($id) {

    unset($result, $sql, $query);
    $sql = " SELECT parent_id FROM page_entries WHERE id = '$id' ";
    $query = mysql_query($sql) or die(mysql_error());
    $result = mysql_fetch_assoc($query) or die(mysql_error());

    if ($result['parent_id'] != 0) {
        echo $result['parent_id'] . "... looping<br>";
        loop($result['parent_id']);
    } else {
        echo $result['parent_id'] . "... done loop";
        return $result['parent_id'];
    }
}

echo loop('2');

I'm echoing the parent_id for testing. This is what is output to the browser:

1... looping

0... done loop

Where I'm not sure: the echo loop('2') doesn't echo anything from return $result['id'] if I comment out the echo lines in the function. I've tried testing by changing the return to return 'foo'; and still nothing.

How can I fix it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里人 2024-10-24 09:11:34

乍一看,我认为

loop($result['parent_id']);

应该是

return loop($result['parent_id']);

这样,否则你的 if 分支不会返回任何内容。

At a glance, I think

loop($result['parent_id']);

should be

return loop($result['parent_id']);

otherwise your if branch is returning nothing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文