我试图使用SESSION将购物车功能添加到网站中,这些商品存储在SESSION中,但我有这个警告:非法字符串偏移' pcode'当我尝试回显数组值
时$itemArray = array('pcode'=>$_GET['code']);
$_SESSION['cart_item'] = $itemArray;
这就是我将数组存储到会话中的方式
foreach ($_SESSION['cart_item'] as $item){
echo $item['pcode'];
}
这就是我回应我的商店数组的方式。我对PHP很陌生,并且一直试图从头开始构建网站。我想知道为什么警告继续在我的页面上显示。感谢
答案 0 :(得分:2)
只有$ item会给你价值:
Path to executable: cmd.exe
Parameters: /C C:\tortoise_launcher.bat %3 %1 %2 %4
将数据附加到会话中:
$itemArray = array('pcode'=>'aaa');
$_SESSION['cart_item'] = $itemArray;
foreach ($_SESSION['cart_item'] as $key=>$item){
echo $key; // this will print "pcode"
echo $item; // this will print "aaa"
}
答案 1 :(得分:0)
echo $item
您将获得$ item [' pcode']值,因为您正在使用foreach,它为您提供了key =>价值对,所以' pcode'是关键和$ _GET ['代码']它在foreach中的价值,因为你只使用$ item它会指向$ _GET [' code']的值。
答案 2 :(得分:0)
$_GET['code']='www';
$itemArray = array('pcode'=>$_GET['code']);
$_SESSION['cart_item'] = $itemArray;
foreach ($_SESSION['cart_item'] as $item){
echo $item;
}
答案 3 :(得分:0)
数组项中没有pcode
的密钥。
有一种方法可以检查是否有任何密钥array_key_exists
bool array_key_exists ( mixed $key , array $array )
找到内容的任何更简单的方法是打印数组并死掉,查看数组的内容,修复并重试。