zhangjingyu
“像universalConvert($data, $to = 'UTF-8', $from = null) 这样有多个参数的,使用时也要传递多个对应参数进去吗”(引用内容)不一定!这要看你怎么调用。
参数传递规则
1️⃣ 按顺序传递
// 函数定义
function universalConvert($data, $to = 'UTF-8', $from = null) {
// ...
}
// 调用时必须按顺序
universalConvert($myData, 'UTF-8', 'GBK'); // ✅ 全传
universalConvert($myData, 'UTF-8'); // ✅ 只传前两个
universalConvert($myData); // ✅ 只传第一个
universalConvert($myData, 'GBK', 'UTF-8'); // ✅ 改变编码方向
2️⃣ 参数有默认值 = 可以不传
universalConvert($row);
// 相当于:
universalConvert($row, 'UTF-8', null);
// 自动检测编码,转换成 UTF-8
不同调用方式对比
调用方式目标编码源编码说明universalConvert($data)UTF-8自动检测✅ 最常用universalConvert($data, 'GBK')GBK自动检测转成 GBKuniversalConvert($data, 'UTF-8', 'GBK')UTF-8GBK明确指定来源universalConvert($data, 'GBK', 'UTF-8')GBKUTF-8反向转换
总结
参数传递原则:
✅ 有默认值的参数可以省略
✅ 按顺序从左到右传递
✅ 只传必要的参数
所以回答你的问题:不一定都要传,只传需要的就行!

