在PHP上每次foreach迭代时将元素存储在数组中


Storing elements in an array at each iteration of a foreach on PHP

我有一个foreach,检查在我的php网站会话的数量,并为每个会话从数据库中获取一个项目的名称。

我想把名字按顺序存储在变量中,这样我就可以在之后使用它们,这样我就不必再调用数据库了。

这是foreach:

foreach ($_SESSION['cart'] as $item) 
{ 
    $pid = $item['itemId'];
    $q = $item['qty'];
    $query2 = $con -> prepare("SELECT * FROM item_descr WHERE id_item = :idItem");
    $query2-> bindValue (':idItem',$pid);
    $query2->execute();
    $row2 = $query2->fetch(PDO::FETCH_ASSOC);
}

假设有3个会话,我如何将$row2['name']保存在不同的变量中,以便以后使用?

谢谢!

foreach之前定义一个数组来存储结果:

$mySessions = array();

然后在$row2 = ....行之后:

$mySessions[] = $row2;

然后你将填充数组,这样你就可以在循环完成后使用它。