2017-07-16 14 views
0

登録済みの製品IDセッションを配列に保存しようとしていますが、idを使ってセッション配列から製品を削除しようとしていますが、 。私はオンラインで検索しましたが、これを解決するのに役立つものはまだ得られませんでした。セッション配列の項目を保存、表示、削除する

<?php 
session_start(); 
//Saving session 
if(!empty($_SESSION["items"])){ 
$_SESSION["items"] = array(); 
$_SESSION["items"][] = $_POST['product_id']; 
}else{ 
$_SESSION["items"] = $_POST['product_id']; 
} 

//Get one session 
echo $_SESSION["items"][$_POST['product_id']]; 

//Delete one session 
unset($_SESSION["items"][$_POST['product_id']]); 
?> 

例2

<?php 
session_start(); 
$product_id = '300'; 
$itemID = 'C'; 
if (!isset($_SESSION['items'])) { 
    $_SESSION['items'] = array(); 
    $_SESSION['items'][$itemID] = array('code' => $product_id); 
}else{ 
    $_SESSION["items"][$itemID][] = $product_id; 
} 
echo $_SESSION["items"]['A']['code']; // This is not showing anything 
var_dump($_SESSION["items"]); // below array is what i get 
?> 

array(3) { ["A"]=> array(1) { [0]=> string(3) "100" } ["B"]=> array(1) { [0]=> string(3) "200" } ["C"]=> array(1) { [0]=> string(3) "300" } } 

誰もが私はあなたのセッションにアイテムがない場合、あなたは$ _SESSIONに保存し、この権利

+0

@mickmackusa私は新しいものを保存していますが、var_dumpを印刷するとアイテムの配列が表示されますが、1つのアイテムを取得する必要はありません。私の質問をもう一度更新して見せてもらえますか? – Peter

+0

@mickmackusa私の質問の最新バージョンをご覧ください – Peter

+0

@mickmackusa問題は '$ _SESSION [" items [] itemID] [] 'ですが問題はまだ解決しています。 '$ _SESSION [" items "] ['C'] ['code']'をエコーし​​ようとすると、300の代わりに3つだけ表示されます – Peter

答えて

0

コード例:

$product_id = '300'; 
$itemID = 'C'; 
if (!isset($_SESSION['items'])) { 
    $_SESSION['items']=[]; 
} 
$_SESSION["items"][$itemID]['code']=$product_id; 
var_export($_SESSION["items"]); 

出力:

array (
    'C' => 
    array (
    'code' => '300', 
), 
) 

すべては$product_idcodeのキーを持っています追加。その部分配列は$itemIDの内部にあり、itemsの内部にあり、内部は$_SESSIONになります。

0

を得ることができる方法で私を支援することができますしてください[」アイテム]]。 1つの項目があるときは、新しい配列を作成して保存し、古い値を削除して新しい項目を新しい配列に保存します。

したがって、1つのアイテムまたは1つのアイテムだけを含むアイテムまたは配列がセッションにあります。

代理変数の先頭に@を追加するか、割り当て前にそのセットがあるかどうかをテストする警告が表示されないように、if elesステートメントをこれに置き換えてください。

$_SESSION["items"][] = $_POST['product_id']; 
+0

私はまだ何も表示していませんでした – Peter

+0

私は私が使用しようとしたがまだ動作していない別のコードで私の質問を更新してください – Peter

関連する問題