これは簡単だと思いましたが、うまくいかないようです。私がしたいのは、userdata配列に値を追加することだけです。値が既にviewed_news_items配列にある場合、私はそれを置き換えたくありません。 viewed_news_items配列ユーザーデータ配列に値を追加
$a = array($desk_id => $desk_id);
$this->session->set_userdata('viewed_news_items', $a);
これは簡単だと思いましたが、うまくいかないようです。私がしたいのは、userdata配列に値を追加することだけです。値が既にviewed_news_items配列にある場合、私はそれを置き換えたくありません。 viewed_news_items配列ユーザーデータ配列に値を追加
$a = array($desk_id => $desk_id);
$this->session->set_userdata('viewed_news_items', $a);
に
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true,
'viewed_news_items' => array()
);
$this->session->set_userdata($data);
挿入値あなたはすでにが$desk_id
の値を持っていない限り、あなたがすることはできませんつまり、キーと値の両方として$desk_id
を使用していますそれを配列で調べる。これに代えて
:
$a = array($desk_id => $desk_id);
あなたはおそらくこれをやってみたかったが:
ある$a = array('desk_id' => $desk_id);
、文字列に対応する値$desk_id
をあるキーとして'desk_id'
を使用しています。
「desk_id」がちょうど自動数が非常にコードが別の値を実行するたびに、代わりに「desk_id」を置き換えるので添加されるようにする方法はありますか?
array_push($array, $value)
または$array[] = $value
でアレイの最後にアイテムをプッシュできます。 PHPは新しい配列要素のインデックスとして自動的に次の数値IDを割り当てます。
# pull the existing IDs out of the session
$viewed_news_items = $this->session->userdata('viewed_news_items');
# on first load, the array may not be initialized
if (!is_array($viewed_news_items))
$viewed_news_items = array();
# append $desk_id to the list of viewed items
$viewed_news_items[] = $desk_id;
# put the new list back into the session
$this->session->set_userdata('viewed_news_items', $viewed_news_items);
タイプを起動します。あなたの現在のシナリオでは
、あなたは、セッションのうち、IDの既存のリストを引き出し、それにIDを追加して、セッションに戻ってそれを置く必要があるでしょうセッション から取得したデータを必要に応じて使用してください。
'desk_id'を自動番号として使用する方法はありますか?コードが実行されるたびに、 'desk_id'を置き換える代わりに別の値が追加されますか? – Malcr001
@ user971824私の更新を参照してください。さらなる質問がある場合は、この質問のトピックからさらに離れるのではなく、新しい質問をする必要があります。 – meagar
ありがとうございました – Malcr001