欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php变量名中有变量

程序员文章站 2022-03-29 08:01:36
...
$a = array(
    array(
        'name' => 'lang',
        'user' => '0',
        'value' => 'zh-CN'
        ),
    array(
        'name' => 'charset',
        'user' => '22',
        'value' => 'UTF-8'
        ),
);

想在页面以 $site['lang'] 输出 zh-CN,$site['charset'] 输出 UTF-8

我的错误写法,求写法

foreach ($a as $opt) {
    foreach ($opt as $key => $value) {
        if ($key == 'name') {
            $key_name = $value;
        }
        if ($key == 'value') {
            $key_value = $value;
        }
    }
    $site = 'site[\''. $key_name .'\']';
    $$site = $key_value;
}

回复内容:

$a = array(
    array(
        'name' => 'lang',
        'user' => '0',
        'value' => 'zh-CN'
        ),
    array(
        'name' => 'charset',
        'user' => '22',
        'value' => 'UTF-8'
        ),
);

想在页面以 $site['lang'] 输出 zh-CN,$site['charset'] 输出 UTF-8

我的错误写法,求写法

foreach ($a as $opt) {
    foreach ($opt as $key => $value) {
        if ($key == 'name') {
            $key_name = $value;
        }
        if ($key == 'value') {
            $key_value = $value;
        }
    }
    $site = 'site[\''. $key_name .'\']';
    $$site = $key_value;
}

//if your php version >= 5.5
$site = array_column($a, 'name', 'value');

//else
$site = array();
foreach($a as $t) $site[$t['name']] = $t['value'];
相关标签: php