PHP从多维数组中获取值



我有一个多维数组,我可以用FOR循环循环并返回值以进入数据库。当用户删除一个项目时,问题就出现了,然后我使用unset从$_SESSION[cart]数组中取出该项目。特别是如果是购物车的第2行,我会使用

unset($_SESSION[cart][2]);

现在我不能再使用FOR循环了,因为我在FOR循环中使用的值有空格。

原来的数组是:

$_SESSION['cart'][1]$_SESSION['cart'][2]$_SESSION['cart'][3]

从购物车中删除第2行后(它可以是任何一行,这是一个例子):

$_SESSION['cart'][1]$_SESSION['cart'][3]

数组的结构如下:

$_SESSION['cart'][$lineId] = array('stockNumber' => $stockNumber, 'description' => $description, 'masterPrice' => $masterPrice);

$lineId是购物车中的行项

我当前使用以下循环从购物车中检索数据:

for ($i = 1, $howMany = count($_SESSION['cart']); $i < $howMany+1; ) {
$stk_code = $_SESSION['cart'][$i]["stockNumber"];
$description = $_SESSION['cart'][$i]["description"]; 
$unitPrice = $_SESSION['cart'][$i]["masterPrice"];}

我需要帮助来理解这一点,以及一种循环遍历数组的方法,无论行项编号如何。我无法知道购物车里有多少物品,或者他们取出了多少物品。

可以用foreach代替for循环

$_SESSION['cart'][1] = array('stockNumber' => 1, 'description' => 'test', 'masterPrice' => 115);
    foreach ($_SESSION['cart'] as $value) {
      $stk_code = $value["stockNumber"];
      $description = $value["description"]; 
      $unitPrice = $value["masterPrice"];
    }

相关内容

  • 没有找到相关文章

最新更新