- 締切済み
このコードに間違いはありますか?
(1)$tempWord = "<"."TABLE".">"; (2)$tempWord+="<set name=\'".$i."\' value=\'".$ic2."\' color=\'AFD8F8\'/>"; (3)$tempWord+="</graph>"; (4)echo "</table>"; これらの代入を(1)が終わったら下の命令、(2)が終わったら下の命令 var_dump($tempWord); echo $tempWord; といった感じで、変数の内容をHTMLに出力しているのですが、 (1)のとき、var_dumpの結果はString(7)=""、echoに至っては何も表示されません。 同様にvar_dumpの結果はバイト数のカウント自体は正常に表示されるのですが、変数の内容については""と表示されるだけです。 一見、コードの間違いを発見できません。 おかしい点があったら教えてください。 これらのコードを実行すると、
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- se-nabe
- ベストアンサー率34% (31/91)
私も#2さんと同意見ですね。 <set name~~>のタグってなにしてるんでしょうか? あと、+= は .=ですね。 colorの指定で16進数で指定するなら#が必要な気がします。 color=\'AFD8F8\'/ => color=\'#AFD8F8\'/ あと、¥がみにくいので、私ならsprintf関数とか使いますね。 $tempWord+="<set name=\'".$i."\' value=\'".$ic2."\' color=\'AFD8F8\'/>"; $tempWord .= sprintf("<set name= '%s' value='%s' color='#AFD8F8'/>",$i,$ic2); あと、配列じゃないので、var_dumpの必要性もいまひとつ感じられません。
>これらのコードを実行すると、 たぶん、実行しても「</table>」というタグだけ表示されるから何も表示されないと思うが。 まず、$tempWordに+=してるのは、これは.=の間違いでないか。 それから、テキストリテラル内の\'は、'の間違いでないか。 それから、<setというタグは、何の働きもしてないんじゃないか。 それから、</graph>というのは閉じタグだけしかないんでないか。 それから、どうもこれは繰り返しで実行している中身のようなんだが、繰り返すたびに<table></table>を出力するのはあってるのか? 繰り返しの前と後で出すつもりだったんじゃないか。 テーブルなのに<tr>も<td>も何もないのはなぜなのか。テーブル内に表示する値が何もないんじゃ何も表示されないんじゃないか。 ざっとみて気がついた間違いはこれくらい。まだあるかも。
- memphis
- ベストアンサー率40% (975/2395)
タグなので、””と表示されるのが正常な動作です。 結果をソース表示すれば出力されている事が判りませんか? >これらのコードを実行すると、 あと、文章が途中で切れているような?