- ベストアンサー
$_SESSIONの中身の取り出し方
$_SESSIONの中身の取り出し方 $_SESSIONの中身の取り出し方について質問させてください。 $_SESSION["~~~"]でいくつか設定している状態なのですが、 テストとして現在どういったものが入っているかを確認したいのですが、 できれば使いまわしたいため、["~~~"]の中がどういったものであっても対応できるような方法をとりたいです(while等)。 なので、いくつ設定されているか不明、["~~~"]の中も不明(指定した条件式を書けない)という条件で、$_SESSIONの中をprintなどで書きだすことは可能なのでしょうか?
- みんなの回答 (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]と同値 } } 普段扱うことがないのでセッションの扱いが正しいか自信がないですが。
その他の回答 (1)
- duron
- ベストアンサー率77% (73/94)
print_r()もしくはvar_dump()で配列の内容を出力できます。
お礼
早速のご回答ありがとうございました! 差し出がましいのですが、これを展開させて、 ポストをセッションに置き換えたい場合、???はどうしたらよいのでしょうか? $a=1 while($a<=count($array_food)){ if($_POST['???']<>""){$_SESSION['???']=$_POST['???'];} $a++;}
補足
ごめんなさい、以下の誤りです。 $a=1 while($a<=count($_SESSION)){ if($_POST['???']<>""){$_SESSION['???']=$_POST['???'];} $a++;}
お礼
記述まで頂いてありがとうございました。 foreachには思い至らなかったので本当に助かりました。