php变量名中有变量

$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;
}
阅读 3.6k
1 个回答
//if your php version >= 5.5
$site = array_column($a, 'name', 'value');

//else
$site = array();
foreach($a as $t) $site[$t['name']] = $t['value'];
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题