PHP 动态变量声明

PHP dynamical variable declaration

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

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

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

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

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

例如,如果我们要将字母 F 附加到前面的示例,那么我们将得到 $Fname1, $Fname2 .

我试过 $F$field 但是没用,我也试过设置 $field = "F"+$ field 在循环内,但也不起作用。

试试这个:

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

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

尝试使用这个:

$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 个字母:)