我使用以下代码动态声明变量:
$fields = array('name1', 'name2');
foreach($fields as $field) {
$$field = false;
}
问题是变量名称重叠,因为我使用的是多个数组。
问题是:如何使用前一种方法在变量名称后附加一个字母?
例如,如果我们将字母 F 附加到上一个示例中,那么我们将获得 $ Fname1,$ Fname2 。
我尝试 $ F $ field ,但这不起作用,我也尝试在循环中设置 $ field =“F”+ $ field 但是也没用。
答案 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
个字母:)