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
个字母:)
我正在使用以下代码动态声明变量:
$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
个字母:)