質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Symfony2

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

Q&A

解決済

1回答

2492閲覧

symfony2で連想配列の値を出力しようとすると、Warning: Illegal string offsetのエラー

imamoto_browser

総合スコア1161

Symfony2

Symphony2は、簡単で速く堅牢なプログラムの開発サイクルに焦点を当てた、オープンソースのPHPウェブアプリケーション開発フレームワークです。PHP version 5.3.3以上を対象としています。

0グッド

0クリップ

投稿2015/06/14 06:23

編集2015/06/14 06:45

symfony2で連想配列の値を出力しようとすると、Warning: Illegal string offsetのエラーが出ます。

var_dumpで配列が受け取れていることは確認できています。

var_dump:array(4) { ["SID"]=> int(65) ["LASTNAME"]=> string(6) "suzuki" ["FNAME"]=> string(4) "taro" ["TELE"]=> string(12) "06-xxxx-3427" }

lang

1if(isset($this->value['SID'])){ 2 echo '<a href=./Mypage.php?no='.$this->value['SID'].'>'.$this->value['SID'].'</a>'; 3 }

このようにissetでくくるとエラーは消えますが、肝心の値は表示されません。
どのようにすれば値を画面上に出力できますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

単純に$this->value['SID']が存在していないんじゃないでしょうか?
issetでくくってfalseになることからも存在しないことになっているかと思います。

$this->value['SID']に格納している処理も確認したいところです。

また、気になるのはSIDはSessionIDという意味で使っているのでしょうか?
Symfony2でセッションIDを取得する場合は次のようにするのが一般的かと思います。

lang

1$request = $this->getRequest(); 2$session = $request->getSession(); 3$session->getId();

勘違いだったらすみません。。

投稿2015/06/14 10:30

ucan-lab

総合スコア888

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

imamoto_browser

2015/06/14 12:30

連想配列の構造を書き換えたところ、解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問