当前位置:  开发笔记 > 编程语言 > 正文

PHP foreach - 未定义的变量?

如何解决《PHPforeach-未定义的变量?》经验,为你挑选了1个好方法。

我正在使用Laravel 5.3的查询构建器,尝试添加where子句来查找具有特定标记的文章:

$tag_list = $request->tag_list; // tag_list is an array
if (isset($tag_list)) {
    foreach ($tag_list as $tag_id) {
        $query = $query->whereHas('tags', function ($query) {
            $query->where('id', $tag_id);
        });
    }
}

当我转储$ tag_list时,我得到......

24

但在循环中,我收到一个错误:

Undefined variable: tag_id

我究竟做错了什么?任何帮助表示赞赏!



1> vuliad..:

因为你在函数上下文中.通过 - 使用关键字传递tag_id变量

$tag_list = $request->tag_list; // tag_list is an array
if (isset($tag_list)) {
    foreach ($tag_list as $tag_id) {
        $query = $query->whereHas('tags', function ($query) use ($tag_id) {
            $query->where('id', $tag_id);
        });
    }
}

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有