下記のコードの$_SESSION["cart" ]という配列の中身をechoで出力するにはどうしたら良いでしょうか?
分かる方いましたらお願いします。
php
1<?php 2if(isset($_SESSION["cart"])==true && isset($_POST["item"])==true){ 3$_SESSION["cart"][]=$_POST["item"]; 4 5}elseif(isset($_POST["item"])==true){ 6$_SESSION["cart"][0]=[$_POST["item"]]; 7} 8?>
下記がサーバーに出てきたエラーコードです。
php
1Parse error: syntax error, unexpected 'if' (T_IF) in ~ on line 2
先ほどと質問が変わりますが、下記のコードをループ処理を利用してechoで呼び出すにはどうすればよいでしょうか?何度もすみません。
php
1<?php 2session_start(); 3if(isset($_SESSION["cart"])==true && isset($_POST["item"])==true){ 4$_SESSION["cart"][]=$_POST["item"]; 5}elseif(isset($_POST["item"])==true){ 6$_SESSION["cart"][0]=[$_POST["item"]]; 7} 8echo ($_SESSION)["cart"]; 9?> 10
上記のコードをそのままechoで呼び出した場合のエラーコードです。
php
1Notice: Array to string conversion in ~ on line 8 2Array
Echoは別言語のフレームワークなのでタグから外してください。
プログラムコード(およびエラーメッセージ)は```で囲ってください。(わからなければ質問編集画面でコード部分を選択し<code>ボタンを押してください)正しく反映されているかどうかは質問編集画面のプレビューを見ながら編集していってください。
ところどころで配列の添え字[]が全角になっていますが、これは?また「echoで出したい」割にコード内にechoで出そうとしている箇所が見られませんが、まずは何かしらやってみたのでしょうか。
エラーはコピペしてもらえませんか? om なんて記述にはなりませんよ。
["cart"]に入っている中身はどうやって表示できるようになるかよくわからないです。
エラーメッセージからするとそれ以前の問題です。
具体的にどこが違うのでしょうか?
コードブロック部分は'ではなく```です。わからなければ質問編集画面でコード部分を選択し<code>ボタンを押してください。
以前の質問を解決済みとせずに新たに質問する理由が知りたいですね。未解決のまま同じコードをあげるのは良くありません。
ただ提示コードではそのエラーメッセージはでてきません。コードはこれだけではないのでは?それかきちんとコードがコピペされてないのでは?
正しく反映されているかどうかは質問編集画面のプレビューを見ながら編集していってください。 と書いたはずですが・・・。```の直前直後には改行が必要です。
勘違いされると良くないので細くしておくと冒頭は ```php ←のあとに改行 後ろの ``` ←の後に改行 です。
すみません。直しました。
なぜ、回答や記事を適当に自身の中で解釈して適当に書くんですか?どこを見たらそのような記述になるのか分かりません。私の回答に「配列に対してそのままechoをすると Arrayと表示されたりするので、きちんと配列の中身を解析した上でechoしてくださいね」と書いたはずですよね。
自分で配列を作っているのだから、本来は自分が中身を一番知っていなければならないはずです。
最初のechoの指摘と同じですね「ループ処理を利用して」とあるのに1つもループ処理を書いていません。最初のエラーは解消できたのでしょうか?できていないのに追加質問をしたのでしたら論外です。問題は1つ1つ解決していかなければ新たな問題を引き起こすだけ。いつまでたっても問題は解決しません。困るのはあなたですよ?
ループ処理を使っていないのは単に書き方が分からなかったからです。if-elseifの部分にwhileを入れたのですがそこから上記のコードをどう修正していいか分からないのです。
前回の質問でも指摘しましたが「めちゃくちゃ調べた」ところをちゃんと具体的に書かないといけません。 あと、調べただけでは何も進まないので、まずは思ったとおり組んで色々試行錯誤していかないと覚えられません。正直なところ、質問の内容だけではズバリの回答はできないため、私は「考え方」「調べ方」を回答としています。この質問の内容だけで$_SESSION["cart"] $_POST["item"] などに何が入っているか、質問者さん以外の見ている人は分かりますか?
分からないと思います。この問題はPOST送信されていない状態で$_SESSION["cart"]中身を見るにはどうしたらいいのかという課題です。本来ならPOST送信して受け取った中身を見るのが普通ですがそうではありません。ただ、$_SESSION["cart"]の後に添え字である数字を上記のコードに記述して書くそうです。
回答きちんと読んでください。私もyambejpさんも「中身を見るにはどうしたらいいか」回答をしています。それぞれの関数の意味が分からなければ調べればいいだけの話です。それだけPHPマニュアルは内容が充実しています。