dポイントプレゼントキャンペーン実施中!

$_SESSIONの中身の取り出し方

$_SESSIONの中身の取り出し方について質問させてください。
$_SESSION["~~~"]でいくつか設定している状態なのですが、
テストとして現在どういったものが入っているかを確認したいのですが、
できれば使いまわしたいため、["~~~"]の中がどういったものであっても対応できるような方法をとりたいです(while等)。
なので、いくつ設定されているか不明、["~~~"]の中も不明(指定した条件式を書けない)という条件で、$_SESSIONの中をprintなどで書きだすことは可能なのでしょうか?

A 回答 (2件)

配列を中のキー分繰り返し処理するという場合にはforeachを使用してください。


POSTされたデータをSESSIONに保持するというなら以下のよう感じでしょうか?

$postdata=$_POST;
$_SESSION=array(); // セッション変数破棄(既存の値を残すなら不要)

if(is_array($postdata)){ // foreachは配列でないとエラーとなるのでチェック
foreach($postdata as $key => $value) { // $keyに配列のキー名 $valueに配列の値が入る
$_SESSION[$key]=$value; // $valueは$postdata[$key]と同値
}
}

普段扱うことがないのでセッションの扱いが正しいか自信がないですが。
    • good
    • 0
この回答へのお礼

記述まで頂いてありがとうございました。
foreachには思い至らなかったので本当に助かりました。

お礼日時:2010/08/20 16:23

print_r()もしくはvar_dump()で配列の内容を出力できます。



参考URL:http://www.scollabo.com/banban/php/ref/ref_var_d …

この回答への補足

ごめんなさい、以下の誤りです。

$a=1
while($a<=count($_SESSION)){
if($_POST['???']<>""){$_SESSION['???']=$_POST['???'];}
$a++;}

補足日時:2010/08/20 12:30
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました!
差し出がましいのですが、これを展開させて、
ポストをセッションに置き換えたい場合、???はどうしたらよいのでしょうか?

$a=1
while($a<=count($array_food)){
if($_POST['???']<>""){$_SESSION['???']=$_POST['???'];}
$a++;}

お礼日時:2010/08/20 12:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!