Php 回显会话数组值-警告非法字符串偏移量
我正在尝试使用会话将购物车功能添加到网站中,项目已存储到会话中,但我收到以下警告:当我尝试回显数组值时,字符串偏移量“pcode”非法Php 回显会话数组值-警告非法字符串偏移量,php,arrays,session,Php,Arrays,Session,我正在尝试使用会话将购物车功能添加到网站中,项目已存储到会话中,但我收到以下警告:当我尝试回显数组值时,字符串偏移量“pcode”非法 $itemArray = array('pcode'=>$_GET['code']); $_SESSION['cart_item'] = $itemArray; 这就是我将数组存储到会话中的方式 foreach ($_SESSION['cart_item'] as $item){ echo $item['pcode'];
$itemArray = array('pcode'=>$_GET['code']);
$_SESSION['cart_item'] = $itemArray;
这就是我将数组存储到会话中的方式
foreach ($_SESSION['cart_item'] as $item){
echo $item['pcode'];
}
我就是这样回显我的存储阵列的。我对PHP很陌生,一直在尝试从头开始建立一个网站。我想知道为什么我的页面上不断出现警告。谢谢只有$item会给您带来价值:
$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"
}
要将数据追加到会话中,请执行以下操作:
$data = $_SESSION['cart_item']; // first get session data into any array
$data['newdata'] = 'newvalue'; // now add data
$_SESSION['cart_item'] = $data; // again write session with newly added array
只有$item可以为您提供价值:
$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"
}
要将数据追加到会话中,请执行以下操作:
$data = $_SESSION['cart_item']; // first get session data into any array
$data['newdata'] = 'newvalue'; // now add data
$_SESSION['cart_item'] = $data; // again write session with newly added array
echo$item
在使用foreach时,您将获得$item['pcode']值,这将为您提供key=>值对,因此'pcode'是key,而$\u get['code']是foreach中的值,并且由于您仅使用$item,它将指向$\u get['code']值。echo$item
您将获得$item['pcode']值当您使用foreach时,它会为您提供key=>value对,因此'pcode'是key,$\u GET['code']在foreach中是它的值,并且由于您只使用$item,它将指向$u GET['code']的值。数组项中没有带pcode
的键
$_GET['code']='www';
$itemArray = array('pcode'=>$_GET['code']);
$_SESSION['cart_item'] = $itemArray;
foreach ($_SESSION['cart_item'] as $item){
echo $item;
}
有一种方法可以检查是否存在任何键array\u key\u存在
bool array_key_exists ( mixed $key , array $array )
查找内容的任何简单方法都是打印数组并死亡,查看数组的内容是否正确,修复并重试。数组项中没有带
pcode
的键
有一种方法可以检查是否存在任何键array\u key\u存在
bool array_key_exists ( mixed $key , array $array )
查找内容的任何更简单的方法是打印数组并死亡,查看数组的内容是否正确,修复并重试。尝试此foreach($\u会话['cart\u item']as$key=>$item){echo$key.-->'.$item;}尝试此foreach($\u会话['cart\u item']as$key=>$item){echo$key.-->'.$item;}谢谢!我现在明白了这个想法及其工作原理。顺便说一句,每次我尝试将一个新项目添加到$\u会话['cart\u item']时,它似乎都会覆盖以前的项目,无论如何都要解决这个问题?您如何将数据添加到会话>?$itemArray=array('pcode'=>'aaa');$\u会话['cart\u item']=$itemArray;与我发布的方式相同,但我想我需要一个二维数组,对吗?@kojh我已经更新了上面关于将数据添加到会话中的答案。尝试一下。谢谢你的帮助,但我使用了array\u merge()来完成:)谢谢!我现在明白了这个想法及其工作原理。顺便说一句,每次我尝试将新项目添加到$\u会话['cart\u item']它似乎覆盖了以前的项目,无论如何都可以解决这个问题?如何将数据添加到会话>?$itemArray=array('pcode'=>'aaa');$\u会话['cart\u item']=$itemArray;与我发布的方式相同,但我认为我需要一个二维数组,对吗?@kojh我已经更新了上面关于将数据添加到会话中的答案。尝试一下。谢谢你的帮助,但我使用了array_merge()来完成:)