【问题标题】:How to add results of a foreach loop to a variable in PHP如何将foreach循环的结果添加到PHP中的变量
【发布时间】:2015-03-22 21:25:57
【问题描述】:
foreach ($_SESSION["products"] as $cart_itm) {      
    $items = $cart_itm["code"]
    . " - " . $cart_itm["qty"]
    . " - "  . $cart_itm["price"]
    . "<br>" ;

    echo $items;
}

我有这段代码,它从我的购物篮中获取每个项目并显示它们,问题是当我尝试在代码的其他地方使用这个变量时,它只显示数组中的最后一个项目,我意识到这是因为for 循环不断覆盖最后一个值。有没有办法可以将所有结果放入一个变量中,或者使用循环为它们分配不同的变量?

我也试过了

foreach ($_SESSION["products"] as $cart_itm) {      
    $items .= $cart_itm["code"]
    . " - " . $cart_itm["qty"]
    . " - " . $cart_itm["price"]
    . "<br>" ;

    echo $items;
}

浏览论坛后,返回给我的项目未定义

所以我试着放

$items= ("") 

但仍然得到最终结果 任何帮助表示赞赏,谢谢

【问题讨论】:

  • 顺便说一句:如果你还没有看过它,你可以在这里参观一下:stackoverflow.com/tour 看看这个网站是如何运作的

标签: php arrays loops variables foreach


【解决方案1】:

您可以将变量连接在一起,但您必须先初始化变量。

(否则你可以想像:'我想把这个字符串连接成空',所以这显然行不通,这就是你初始化变量的原因,你可以说:'我想连接这个字符串转为空字符串')

类似这样的:

$items = "";
foreach ($_SESSION["products"] as $cart_itm) {      
    $items .= $cart_itm["code"] . " - " . $cart_itm["qty"] . " - "  . $cart_itm["price"] . "<br>" ;
}

或者你可以把它们放在一个数组中:

$items = array();
foreach ($_SESSION["products"] as $cart_itm) {      
    $items[] = $cart_itm["code"] . " - " . $cart_itm["qty"] . " - "  . $cart_itm["price"] . "<br>" ;

}

print_r($items);

【讨论】:

    【解决方案2】:
    $items = "";
    foreach ($_SESSION["products"] as $cart_itm) {      
    $items .= $cart_itm["code"] . " - " . $cart_itm["qty"] . " - "  . $cart_itm["price"] . "<br>" ;
    
    }
    
    echo $items;
    

    【讨论】:

      【解决方案3】:
      $foo = '';
      foreach ($loopable as $item) {      
      $foo = $foo.'-'.$item;
      }
      echo $foo;
      

      确保在 for 循环之前初始化该变量

      【讨论】:

        猜你喜欢
        • 2018-05-14
        • 1970-01-01
        • 2021-03-11
        • 2014-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多