给出以下代码:
session_start();
$cart = $_SESSION['cart'];
print_r($_SESSION['cart']);
然后我可以看到我想要访问的内容:
数组([153c740f526f2fa8aac9e1ddfdce2716] =>数组([deal_id] => 38 [variation_id] => [variation] => [数量] => 6 [数据] => .....
还有更多,但这是基础......
我想要做的是获取并设置数量:
所以我试过了:
$cart = $_SESSION['cart'];
for ($i = 0 ; $i < count($cart) ; $i ++)
{
echo "The session variable you want" . $_SESSION['cart'][$i]['deal_id'];
echo "<br>";
}
但是没有输出,我做错了什么?
答案 0 :(得分:3)
foreach ($_SESSION['cart'] as $k => $data) {
echo "The session variable you want" . $data['deal_id'];
$_SESSION['cart'][$k]['deal_id'] = 'new id';
}
答案 1 :(得分:1)
根据你刚刚打印的数据,在'cart'中,数组是关联的,而不是数字。
要遍历关联数组,请将foreach与$someArray as $key => $val
表达式
答案 2 :(得分:1)
购物车没有按顺序索引编制索引,你不能以这种方式循环,你需要使用foreach循环:
foreach($_SESSION['cart'] as $index => $value)
echo "Var = " . $value['deal_id'];
如果要设置值,请按引用循环值
foreach($_SESSION['cart'] as $index => &$value)
{
echo "Var = " . $value['deal_id'];
$value['deal_id'] = 'newValue';
}
答案 3 :(得分:1)
你使用foreach声明
foreach($cart as $key=>$value){
echo "The session variable you want" . $value['deal_id'];
echo "<br>";
}
答案 4 :(得分:1)
您将使用foreach
循环
foreach ($_SESSION['cart'] as $k => $data) {
echo "The session variable you want" . $data['deal_id'];
echo "<br>";
$_SESSION['cart'][$k] = "new Value";
}
答案 5 :(得分:1)
使用foreach
循环遍历$_SESSION
数组:
foreach($cart as $k=> $value){
echo "The session variable you want" . $data['deal_id']. "<br>";
$_SESSION['cart'][$k] = "newValueGoesHere"; //setting the new value
}