[PHP-users 14183] ダブルクオートやPHPの変数について
akashi
php-users@php.gr.jp
2003年 3月 23日 (日) 05:52:15 JST
いつもMLだよりで恐縮です。MTです。
ユーザー定義関数 を作成し、POSTデータを処理しようと次のようにしました。
function GetData($str){
// htmlタグ除去や文字コード変換
return $str
}
で、スクリプト内で
$FORM = GetData("$_POST['name']")
とやると、$FORMは空でした。
いろいろ試した挙句、
$FORM = GetData($_POST['name'])
とダブルクオートをはずせば処理された文字列が入るようになりました。
また、echo <<<END のヒアドキュメント内で
echo <<<END
お名前 :$_POST['name']
END;
とやると、お名前欄には何も入らず、
$FORM = $_POST['name'];
echo <<<END
お名前 :$FORM
END;
のように一度他の変数に入れれば、入るようになりました。
また、
$FORM[name] = $_POST['name'];
echo <<<END
お名前 :$FORM[name]
END;
配列を使った場合も表示されませんでした。
以上から
1.関数に引数を渡すとき、""でくくったときとくくらないとき、
なにが違うのか。(変数が展開されるのはわかっていますが...)
2.ヒアドキュメント内ではスーパーグローバル変数、または単に
配列が使えないのか。
きっちりと分かっておきたいので、ご助言いただきたいのですが。
よろしくお願いします。
PHP-users メーリングリストの案内