2016-05-18 11 views
0

私はSESSIONを使用してウェブサイトにカート機能を追加しようとしていますが、アイテムはSESSIONに格納されていましたが、私にはこの警告があります。配列値エコーセッション配列の値 - 警告不正な文字列オフセット

$itemArray = array('pcode'=>$_GET['code']); 
$_SESSION['cart_item'] = $itemArray; 

は、これは私がセッションに配列を格納する方法

​​

であり、これは私が私の店配列をエコーする方法です。私はPHPには新しく、最初からウェブサイトを構築しようとしています。なぜ私のページに警告が表示され続けるのだろうか?

$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 
+0

このforeach($ _SESSION ['cart_item']を$ key => $ item){ echo $ key .'--> '$ item; } –

答えて

2

はわずか$項目は、あなたが価値与えますforeachはkey => valueのペアを与えるので、 'pcode'はキーで、$ _GET ['code'] foreachの値であり、$ itemだけを使用しているので、$ _GET ['code'] 。

+0

ありがとうございました!私はアイデアとその作業を今すぐ取得します。私が$ _SESSION ['cart_item']に新しい項目を追加しようとするたびに、これを解決するために以前の項目を上書きするように見えるでしょうか? – kojh

+0

セッションにデータを追加する方法> ?? –

+0

$ itemArray = array( 'pcode' => 'aaa'); $ _SESSION ['cart_item'] = $ itemArray;私が投稿したのと同じ方法で、私は2次元配列が必要だと思います。 – kojh

0

echo $item使用しているとして、あなたは$アイテム[ 'Pコード']の値を取得しますおかげ

0
$_GET['code']='www'; 
$itemArray = array('pcode'=>$_GET['code']); 
$_SESSION['cart_item'] = $itemArray; 
foreach ($_SESSION['cart_item'] as $item){ 
       echo $item; 
       } 
0

pcodeのキーは配列アイテムにありません。

任意のキーかarray_key_exists

bool array_key_exists (mixed $key , array $array) 

があるかどうかを確認する方法は、コンテンツを見つけるために任意のより簡単なアプローチは、アレイを印刷し、死ぬ、配列の内容かどうかを確認し、修正してみることですがあります再び。

関連する問題