让foreach根据输入创建变量名称?如何使用extract()

问题描述 投票:1回答:2

是否可以这样做而无需输入整个东西?与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;
    }
}
php loops foreach
2个回答
2
投票

你可以使用extract()函数:

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

echo $ref_referee;

1
投票

嗯...如果我理解你正确你有类似的东西:

$_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
}
© www.soinside.com 2019 - 2024. All rights reserved.