为什么“mb_convert_encoding() 期望参数 1 是字符串,数组给定”,如果在 php.net 上它接受数组?

Why "mb_convert_encoding() expects parameter 1 to be string, array given", if on php.net it accepts array?

提问人:Igor Tarasov 提问时间:12/9/2020 更新时间:12/9/2020 访问量:1245

问:

$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 是一个数组,则其所有字符串值都将递归转换。

是文档不正确还是我愚蠢?

php mb-convert-编码

评论

0赞 Jax-p 12/9/2020
你的PHP版本是什么?

答:

3赞 Jax-p 12/9/2020 #1

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

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

因此,它仅适用于 7.2.0 及更高版本的 PHP