PHP动态变量声明

时间:2016-03-10 21:27:57

标签: php variable-declaration

我使用以下代码动态声明变量:

$fields = array('name1', 'name2');

foreach($fields as $field) {
    $$field = false;
}

问题是变量名称重叠,因为我使用的是多个数组。

问题是:如何使用前一种方法在变量名称后附加一个字母?

例如,如果我们将字母 F 附加到上一个示例中,那么我们将获得 $ Fname1,$ Fname2

我尝试 $ F $ field ,但这不起作用,我也尝试在循环中设置 $ field =“F”+ $ field 但是也没用。

2 个答案:

答案 0 :(得分:2)

试试这个:

$fields = array('name1', 'name2');

foreach($fields as $field) {
    $field = "F" . $field;
    $$field = false;
}

答案 1 :(得分:1)

尝试使用它:

$fields = array('name1', 'name2', 'name1', 'name2', 'name2');

foreach($fields as $field) {
    while(!is_null($$field)) {
        $field = "F".$field;
    }
    $$field = false;
    var_dump($field);
}

输出:

string(5) "name1"
string(5) "name2"
string(6) "Fname1"
string(6) "Fname2"
string(7) "FFname2"

因此,您将为每个重叠变量附加F个字母:)