Объявление динамической переменной PHP

Я динамически объявляю переменные, используя следующий код:

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

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

Проблема в том, что есть имена переменных, которые перекрываются, так как я использую более одного массива.

Вопрос в следующем: как я могу добавить букву к имени переменной, используя предыдущий метод?

Например, если мы должны были добавить письмо F к предыдущему примеру, тогда мы получим $ Fname1, $ Fname2.

Я пытался сделать $ F $ поле но это не работает, я также пытался установить $ field = «F» + $ field внутри цикла, но тоже не сработало.

2

Решение

Попробуй это:

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

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

Другие решения

Попробуйте использовать это:

$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 буква для каждой перекрывающейся переменной 🙂

1

По вопросам рекламы [email protected]