mb_detect_encoding(): passing null to parameter
时间: 2023-12-29 10:06:47 浏览: 152
php自动获取字符串编码函数mb_detect_encoding
在使用 `mb_detect_encoding()` 函数时,如果传递了一个空字符串或者变量,会导致出现 `mb_detect_encoding(): passing null to parameter` 的错误提示。这是因为该函数要求第一个参数必须是一个非空字符串。
为了避免这个错误,我们可以在调用该函数之前,先使用 `isset()` 或 `empty()` 函数来判断字符串是否为空。如果字符串为空,可以给它一个默认值或者直接返回错误提示。
以下是一个示例代码:
```
$str = ""; // 空字符串
if (isset($str) && !empty($str)) {
$encoding = mb_detect_encoding($str, "ASCII,UTF-8,GB2312,GBK,BIG5");
echo $encoding;
} else {
echo "字符串为空";
}
```
在上述代码中,我们先使用 `isset()` 和 `empty()` 函数来判断字符串是否为空。如果字符串不为空,就调用 `mb_detect_encoding()` 函数来检测编码类型。如果字符串为空,就直接输出错误提示。这样就可以避免出现 `mb_detect_encoding(): passing null to parameter` 的错误提示了。
阅读全文