Сделать foreach создавать имена переменных в зависимости от ввода? Как использовать extract ()

Возможно ли сделать это без необходимости набирать текст целиком?
Как с циклом foreach, который генерирует необходимые имена переменных из имен переменных сеанса?

if (isset($_SESSION['MembershipForm'])) {
$tempstore = $_SESSION['MembershipForm'];

if (isset($tempstore['ref_referee'])) {
$ref_referee = $tempstore['ref_referee'];
} else {
$ref_referee = NULL;
}

if (isset($tempstore['ref_address'])) {
$ref_address = $tempstore['ref_address'];
} else {
$ref_address = NULL;
}
}

1

Решение

Вы можете использовать функцию extract ():

$tempstore = $_SESSION['MembershipForm'];
extract($tempstore);

echo $ref_referee;
2

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

Ну … если я вас правильно понимаю, у вас есть что-то вроде:

$_SESSION['MembershipForm'] = array('key1' => 'value1', 'key2' => 'value2'); // etc

И вы хотите создавать динамические переменные в зависимости от содержимого вашего массива.

foreach($_SESSION['MembershipForm'] as $key => $value){
${$key} = $value;
// this will create variables like this $key1 = 'value1'; etc
}
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector