如何从foreach循环中获取变量?

时间:2020-06-05 09:23:05

标签: php

对于每个循环,我都有一个遍历购物车内容的循环。我想获取shop_id并在另一个查询中使用它。

    $cartcontents = Cart::content()->toArray();
    foreach ($cartcontents as $cartcontent) {
            $shop_id = DB::table('products')->where('id', $cartcontent['id'])->value('shop_id');
            break;        
    } 
    $shop_number = DB::table('shops')->where('id',$shop_id)->value('phone_number');
    echo $shop_number;

我遇到错误Undefined variable: shop_id。我不知道为什么相同的代码仍可以在函数的另一部分中起作用。

1 个答案:

答案 0 :(得分:0)

您的shop_id变量超出范围。您的查询行无法访问shop_id的值,因为商店ID是在不同范围的foreach中声明的。要解决此问题,请在foreach上方声明shop_id以匹配范围。

<TargetFrameworks>netstandard2.1;net472</TargetFrameworks>