2009-04-06 14 views
0

どのように変数を組み込み、それを文字列にすることができますか?ヘッダーの場所への変数

header("Location: http://www." . "$_SESSION['domainname']"); 

上記のコードは機能しません。

答えて

4

あなたのコードがうまくいかなかった理由は、PHPが文字列内のインデックス付き配列をどのように処理するかによるものです。あなたはありませんでした:

"$_SESSION['domainname']" 

しかし、どのようなPHPは見てみたかった:

"$_SESSION[domainname]" 

んが、単一引用符、この時間を。文字列の中で直接変数を参照している場合は、これらの単一引用符を省略します。

あなたは中括弧({$x}{$a['x']['y']}を使用しない限り、このような文字列の補間は、アレイ("$a[x][y]")の配列と単純な配列("$a[x]")で動作しますが、できないことに注意してください。カーリーbraces--で単一引用符に注意してくださいPHPの通常の文字列補間とまったく同じではなく、PHPの他の場所で変数を参照するようなものです)。

+0

したがって、大括弧の中から一重引用符を削除すると定数として解釈されません。 – Codex73

+0

うまくいったもの:header( "場所:http://www.$_SESSION [domainname]"); – Codex73

+0

いいえ、文字列内の配列インデックスを参照している限り、それを定数として解釈しません。文字列の外側では、domainnameは定数とみなされます。 – Peter

関連する問題