0

为什么这个 php 函数不起作用?它在不使用 $element 时确实有效。使用 $element 它总是返回测试。

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]。单引号之间的任何内容都按字面意思处理。

见: http: //php.net/manual/en/language.types.string.php

于 2013-01-22T14:52:59.507 回答
1

$_POST['$element']将您的代码更改为$_POST[$element],它应该可以正常工作.. $_POST['$element']) 现在什么都没有。

于 2013-01-22T14:52:41.157 回答
0

你在引用$_POST['$element']. 请注意,此处的单引号$element将其转换为静态字符串。

解决方案:去掉引号,它会$element正确解析。

于 2013-01-22T14:54:21.940 回答