Rumah > Soal Jawab > teks badan
后台代码是这样写的
$data['goods'] = array_merge($goods, $cat_goods, $all_goods);
我之前都是传两个数组,现在传三个会报错,何解??
我查了手册,手册上没有给出解决办法,希望大家指点一下感谢
谢谢大家,我自己解决吧 ,毕竟没什么复杂的
高洛峰2017-04-11 10:14:33
谢谢邀请。array_merge()
的参数必须保证都是数组类型的才可以啊!你这错误很明显有不是数组类型的。你分别获取一下对应的数据类型看看就知道啦
var(gettype($goods));
var(gettype($cat_goods));
var(gettype($all_goods));
你测试一下看看是不是有不是array的
天蓬老师2017-04-11 10:14:33
很明显报错了啊。虽然你的初始化$all_goods 是空数组,但是后面查询的时候有可能查询出来的就是空。所以不能保证$all_goods 就是数组啊
伊谢尔伦2017-04-11 10:14:33
强制转换下就不报错了
$data['goods'] = array_merge((array)$goods, (array)$cat_goods, (array)$all_goods);