函数名:mb_convert_variables()
适用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7
函数说明:mb_convert_variables() 函数将一个变量从一个字符编码转换到另一个字符编码。它可以用于转换数组或对象中的所有字符串值。
语法:mb_convert_variables(string $to_encoding, mixed $from_encoding, mixed &$vars)
参数:
- $to_encoding:目标字符编码,可以是字符串或字符串数组。
- $from_encoding:源字符编码,可以是字符串或字符串数组。如果该参数为空字符串或数组,则会使用内部配置的字符编码。
- &$vars:要转换的变量,可以是字符串、数组或对象。如果传递给该参数的是一个对象,将会对其所有公共成员变量进行转换。
返回值:返回转换后的变量,如果转换失败则返回 false。
示例:
// 转换字符串编码
$str = "你好,世界!";
$newStr = mb_convert_variables('UTF-8', 'GBK', $str);
echo $newStr; // 输出:你好,世界!
// 转换数组中的字符串编码
$arr = array("你好", "世界");
$newArr = mb_convert_variables('UTF-8', 'GBK', $arr);
print_r($newArr); // 输出:Array ( [0] => 你好 [1] => 世界 )
// 转换对象中的字符串编码
class Example {
public $str1 = "你好";
public $str2 = "世界";
}
$obj = new Example();
mb_convert_variables('UTF-8', 'GBK', $obj);
echo $obj->str1; // 输出:你好
echo $obj->str2; // 输出:世界
注意事项:
- 如果指定的字符编码无效或不支持,转换将会失败。
- 如果源字符编码为空字符串或数组,则会使用内部配置的字符编码。
- mb_convert_variables() 函数会直接修改传递给它的变量,而不是返回新的变量。