0

このphp関数が機能しないのはなぜですか?$elementを使用しない場合は機能します。$ elementを使用すると、常にtestを返します。

function setVar($element)
 {
    if(isset($_POST['$element'])){
    $varname = $_POST['$element']; 
    } 
    else {
    $varname = 'test';
    }
    return $varname;
 }

 $var = setVar('element_6');
4

4 に答える 4

6

あなたはおそらく意味します:

... $_POST[$element] ...

引用符なし?一重引用符で囲まれたコンテンツが置き換えられることはありません。

于 2013-01-22T14:52:33.937 に答える
1

$_POST['$element']コードをに変更する$_POST[$element]と、正常に機能するはずです。$ _ POST ['$ element'])は、現時点では何も参照していません。

于 2013-01-22T14:52:41.157 に答える
1

$ _POST['$element']を$_POST[$element]に変更する必要があります。一重引用符で囲まれたものはすべて文字通りに扱われます。

参照: http: //php.net/manual/en/language.types.string.php

于 2013-01-22T14:52:59.507 に答える
0

参照しています$_POST['$element']。このあたりの一重引用符は$element、静的な文字列に変換されることに注意してください。

解決策:引用符を削除すると、$element正しく解析されます。

于 2013-01-22T14:54:21.940 に答える