为什么"mb_convert_encoding() expects parameter 1 to be string, array given",如果在 php.net 它接受数组?


$data = ['abcd', 'ddd'];
$data = mb_convert_encoding($data, 'utf-8', 'windows-1251');

我收到警告:mb_convert_encoding((要求参数1为字符串,给定数组。

但根据php.net,mb_convert_encoding((接受数组。看见https://www.php.net/manual/en/function.mb-convert-encoding.php

mb_convert_encoding ( mixed $val , string $to_encoding [, mixed $from_encoding = mb_internal_encoding() ] ) : mixed

将val的字符编码从可选的from_encoding转换为to_encoding。如果val是一个数组,那么它的所有字符串值都将被递归转换。

文档不正确还是我愚蠢?

正如您提到的文档中的变更日志所描述的:

7.2.0-此函数现在也接受数组作为val。以前只支持字符串。

因此它只适用于PHP的7.2.0及以上版本

相关内容

  • 没有找到相关文章

最新更新