下面这句话何解
程序员文章站
2022-05-31 11:32:25
...
if (strtoupper(CHARSET) == 'GBK' && !empty($key)){
if (is_array($key)){
$result = var_export($key, true);//变为字符串
$result = iconv('UTF-8','GBK',$result);
eval("\$result = $result;");//转换回数组
}else {
$result = iconv('UTF-8','GBK',$key);
}
}
return $result;
这句中的 CHARSET是啥意思,不可思议,是实随便一个字符串试探吗
还有eval("\$result = $result;");为啥能转成数组呢
if (is_array($key)){
$result = var_export($key, true);//变为字符串
$result = iconv('UTF-8','GBK',$result);
eval("\$result = $result;");//转换回数组
}else {
$result = iconv('UTF-8','GBK',$key);
}
}
return $result;
这句中的 CHARSET是啥意思,不可思议,是实随便一个字符串试探吗
还有eval("\$result = $result;");为啥能转成数组呢
回复讨论(解决方案)
CHARSET 是个常量
eval() 函数把字符串按照 PHP 代码来计算。去看看手册中该函数的介绍就明白了。
CHARSET 是个常量,可以找找 define('CHARSET', xxx); 定义。
eval就是把字符串转为代码执行。