Я динамически объявляю переменные, используя следующий код:
$fields = array('name1', 'name2');
foreach($fields as $field) {
$$field = false;
}
Проблема в том, что есть имена переменных, которые перекрываются, так как я использую более одного массива.
Вопрос в следующем: как я могу добавить букву к имени переменной, используя предыдущий метод?
Например, если мы должны были добавить письмо F к предыдущему примеру, тогда мы получим $ Fname1, $ Fname2.
Я пытался сделать $ F $ поле но это не работает, я также пытался установить $ 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
буква для каждой перекрывающейся переменной 🙂